X-Git-Url: https://nos-oignons.fr/gitweb/gestion-adh.git/blobdiff_plain/fa119a8cefd38beb5c7b76adffa996a6af7fb006..ca091d07cdf75c8637229b11c5bafdeaa79bb8a2:/lib/nos_oignons/subscriptions.rb?ds=inline diff --git a/lib/nos_oignons/subscriptions.rb b/lib/nos_oignons/subscriptions.rb new file mode 100644 index 0000000..eef7946 --- /dev/null +++ b/lib/nos_oignons/subscriptions.rb @@ -0,0 +1,25 @@ +require 'safe_yaml' +SafeYAML::OPTIONS[:default_mode] = :safe + +SUBSCRIPTIONS_ROOT = 'Membres' + +def is_valid_subscription?(content) + return false if content.length == 0 + return false unless content.start_with?("---\n") + begin + data = YAML.load(content) + rescue ArgumentError + # Parse error + return false + end + ['name', 'email'].each do |key| + return false unless data.include?(key) + end + true +end + +def is_valid_subscription_file?(ref, file) + IO.popen(['git', 'show', "#{ref}:#{file}"]) do |f| + is_valid_subscription?(f.read) + end +end