]> nos-oignons.net Git - gestion-adh.git/blob - lib/nos_oignons/subscriptions.rb
eef7946117c184b7329c06c48c229b1fff11bf93
[gestion-adh.git] / lib / nos_oignons / subscriptions.rb
1 require 'safe_yaml'
2 SafeYAML::OPTIONS[:default_mode] = :safe
3
4 SUBSCRIPTIONS_ROOT = 'Membres'
5
6 def is_valid_subscription?(content)
7   return false if content.length == 0
8   return false unless content.start_with?("---\n")
9   begin
10     data = YAML.load(content)
11   rescue ArgumentError
12     # Parse error
13     return false
14   end
15   ['name', 'email'].each do |key|
16     return false unless data.include?(key)
17   end
18   true
19 end
20
21 def is_valid_subscription_file?(ref, file)
22   IO.popen(['git', 'show', "#{ref}:#{file}"]) do |f|
23     is_valid_subscription?(f.read)
24   end
25 end