]> nos-oignons.net Git - gestion-adh.git/blobdiff - lib/nos_oignons/member.rb
Correction ('reçu' ou 'récépissé' se dit 'receipt' en anglais, et non
[gestion-adh.git] / lib / nos_oignons / member.rb
index a67581c114ea6d06588e5442d8c8ffe53f676bf8..4bf23ca6be693b7d4976eab37a4e98a647ab6f72 100644 (file)
@@ -35,7 +35,12 @@ module NosOignons
       end
 
       def filename_for_id(member_id)
-        "#{NosOignons::Member.db_path}/%06d.mdwn" % member_id
+        case member_id
+        when String
+          "#{NosOignons::Member.db_path}/#{member_id}.mdwn"
+        when Integer
+          "#{NosOignons::Member.db_path}/%06d.mdwn" % member_id
+        end
       end
 
       def read_from_git(ref, file)
@@ -54,7 +59,11 @@ module NosOignons
       end
       @member_id = member_id
       unless page_content
-        page_content = File.open(Member.filename_for_id(member_id)).read
+        begin
+          page_content = File.open(Member.filename_for_id(member_id)).read
+        rescue Errno::ENOENT
+          raise ArgumentError.new('unknown member')
+        end
       end
       unless page_content.start_with?("---\n")
         raise ArgumentError.new('content is not a proper YAML document')
@@ -94,5 +103,12 @@ module NosOignons
     def reminded_on
       ReminderDb.instance.last_reminder(self)
     end
+
+    def create_receipt!(amount)
+      require 'nos_oignons/receipt'
+
+      receipt = Receipt.new(self, amount)
+      receipt.create!
+    end
   end
 end