Module: CouchRest::Mixins::ExtendedAttachments
- Included in:
- ExtendedDocument
- Defined in:
- lib/couchrest/mixins/extended_attachments.rb
Instance Method Summary collapse
-
#attachment_url(attachment_name) ⇒ Object
returns URL to fetch the attachment from.
-
#create_attachment(args = {}) ⇒ Object
creates a file attachment to the current doc.
-
#delete_attachment(attachment_name) ⇒ Object
deletes a file attachment from the current doc.
-
#has_attachment?(attachment_name) ⇒ Boolean
returns true if attachment_name exists.
-
#read_attachment(attachment_name) ⇒ Object
reads the data from an attachment.
-
#update_attachment(args = {}) ⇒ Object
modifies a file attachment on the current doc.
Instance Method Details
#attachment_url(attachment_name) ⇒ Object
returns URL to fetch the attachment from
42 43 44 45 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 42 def () return unless () "#{database.root}/#{self.id}/#{}" end |
#create_attachment(args = {}) ⇒ Object
creates a file attachment to the current doc
6 7 8 9 10 11 12 13 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 6 def (args={}) raise ArgumentError unless args[:file] && args[:name] return if (args[:name]) self['_attachments'] ||= {} (args) rescue ArgumentError => e raise ArgumentError, 'You must specify :file and :name' end |
#delete_attachment(attachment_name) ⇒ Object
deletes a file attachment from the current doc
31 32 33 34 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 31 def () return unless self['_attachments'] self['_attachments'].delete end |
#has_attachment?(attachment_name) ⇒ Boolean
returns true if attachment_name exists
37 38 39 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 37 def () !!(self['_attachments'] && self['_attachments'][] && !self['_attachments'][].empty?) end |
#read_attachment(attachment_name) ⇒ Object
reads the data from an attachment
16 17 18 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 16 def () Base64.decode64(database.(self, )) end |
#update_attachment(args = {}) ⇒ Object
modifies a file attachment on the current doc
21 22 23 24 25 26 27 28 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 21 def (args={}) raise ArgumentError unless args[:file] && args[:name] return unless (args[:name]) (args[:name]) (args) rescue ArgumentError => e raise ArgumentError, 'You must specify :file and :name' end |