]> nos-oignons.net Git - gestion-adh.git/blob - features/support/fixtures.rb
Next step in pre-commit hook implementation
[gestion-adh.git] / features / support / fixtures.rb
1 #-*- coding: utf-8 -*-
2
3 require 'erb'
4 require 'ostruct'
5 require 'yaml'
6
7 BASE_SUBSCRIPTIONS = 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   membership_fee_paid_on: 2013-02-21
17   notes:
18     Il vient de `whois cogent.fr`.
19 000002:
20   name: Sylvain Dufier
21   address: |
22     ORANGE FRANCE
23     13, rue de Javel
24     75015 Paris
25   email: sylvain.dufier@orange-ftgroup.com
26   membership_fee_paid_on: 2013-05-29
27     Il vient de `whois orange.fr`.
28 000003:
29   name: Salim Gasmi
30   address: |
31     SDV PLURIMEDIA
32     15, rue de la Nuee Bleue
33     67000 Strasbourg
34   email: domaines@sdv.fr
35   membership_fee_paid_on: 2010-01-21
36     Il vient de `whois numericable.fr`.
37     Et il n'est pas à jour de cotisation.
38 END_OF_YAML
39
40 EXTRA_SUBSCRIPTION = YAML.load(<<END_OF_YAML)
41 name: Franck Rohard
42 address: |
43   SOCIETE FRANCAISE DU RADIOTELEPHONE - SFR
44   42, avenue de Friedland
45   75008 Paris
46 email: domains@sfr.com
47 membership_fee_paid_on: 2013-04-04
48 notes:
49   Il vient de `whois sfr.fr`.
50 END_OF_YAML
51
52 SUBSCRIPTION_FILE_TEMPLATE = <<'END_OF_TEMPLATE'
53 ---
54 name: <%= name %>
55 address: |
56 <%= address.gsub(/^/, '  ').rstrip %>
57 email: <%= email %>
58 mumbership_fee_paid_on: <%= membership_fee_paid_on %>
59 ---
60
61 <%= notes %>
62 END_OF_TEMPLATE
63
64 def subscription_filename_for_id(id)
65   "Membres/%06d.mdwn" % id
66 end
67
68 def render_subscription_file(locals)
69   ERB.new(SUBSCRIPTION_FILE_TEMPLATE).result(OpenStruct.new(locals).instance_eval { binding })
70 end
71
72 def new_id
73   new_id = Dir.glob("#{current_dir}/Membres/*.mdwn").
74     collect { |f| File.basename(f).gsub(/\.mdwn$/, '').to_i }.max + 1
75 end