]> nos-oignons.net Git - gestion-adh.git/blob - features/support/fixtures.rb
Manually select YAML content in member pages
[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 [[!ftemplate id="membre"]]
66
67 <%= notes %>
68 END_OF_TEMPLATE
69
70 def member_filename_for_id(id)
71   "Membres/%06d.mdwn" % id
72 end
73
74 def render_member_file(locals)
75   ERB.new(MEMBER_FILE_TEMPLATE).result(OpenStruct.new(locals).instance_eval { binding })
76 end
77
78 def new_id
79   max_id = Dir.glob("#{current_dir}/Membres/*.mdwn").
80     collect { |f| File.basename(f).gsub(/\.mdwn$/, '').to_i }.max || 0
81   max_id + 1
82 end