]> nos-oignons.net Git - gestion-adh.git/blob - features/support/fixtures.rb
fb06a0c0f27da5597c4fb384ce83e7788912ffa8
[gestion-adh.git] / features / support / fixtures.rb
1 #-*- coding: utf-8 -*-
2
3 require 'erb'
4 require 'ostruct'
5 require 'yaml'
6
7 BASE_MEMBERS = YAML.load(<<END_OF_YAML)
8 000001:
9   name: Matthieu Simon-Blavier
10   address: |
11     Domain Network Sas
12     17, square Edouard VII
13     75009 Paris
14     FR
15   email: registry@domainnetwork.fr
16   joined_on: 2013-02-21
17   membership_fee_paid_on: 2013-02-21
18   notes:
19     Il vient de `whois cogent.fr`.
20 000002:
21   name: Sylvain Dufier
22   address: |
23     ORANGE FRANCE
24     13, rue de Javel
25     75015 Paris
26   email: sylvain.dufier@orange-ftgroup.com
27   joined_on: 2013-05-20
28   membership_fee_paid_on: 2013-05-29
29     Il vient de `whois orange.fr`.
30 000003:
31   name: Salim Gasmi
32   address: |
33     SDV PLURIMEDIA
34     15, rue de la Nuee Bleue
35     67000 Strasbourg
36   email: domaines@sdv.fr
37   joined_on: 2010-01-21
38   membership_fee_paid_on: 2011-01-11
39     Il vient de `whois numericable.fr`.
40     Et il n'est pas à jour de cotisation.
41 END_OF_YAML
42
43 EXTRA_MEMBER = YAML.load(<<END_OF_YAML)
44 name: Franck Rohard
45 address: |
46   SOCIETE FRANCAISE DU RADIOTELEPHONE - SFR
47   42, avenue de Friedland
48   75008 Paris
49 email: domains@sfr.com
50 joined_on: 2013-04-04
51 membership_fee_paid_on: 2013-04-04
52 notes:
53   Il vient de `whois sfr.fr`.
54 END_OF_YAML
55
56 MEMBER_FILE_TEMPLATE = <<'END_OF_TEMPLATE'
57 ---
58 name: <%= name %>
59 address: |
60 <%= address.gsub(/^/, '  ').rstrip %>
61 email: <%= email %>
62 joined_on: <%= joined_on %>
63 membership_fee_paid_on: <%= membership_fee_paid_on %>
64 ---
65
66 <%= notes %>
67 END_OF_TEMPLATE
68
69 def member_filename_for_id(id)
70   "Membres/%06d.mdwn" % id
71 end
72
73 def render_member_file(locals)
74   ERB.new(MEMBER_FILE_TEMPLATE).result(OpenStruct.new(locals).instance_eval { binding })
75 end
76
77 def new_id
78   max_id = Dir.glob("#{current_dir}/Membres/*.mdwn").
79     collect { |f| File.basename(f).gsub(/\.mdwn$/, '').to_i }.max || 0
80   max_id + 1
81 end