Module: CouchRest::Mixins::ExtendedAttachments
- Included in:
- ExtendedDocument
- Defined in:
- lib/couchrest/mixins/extended_attachments.rb
Instance Method Summary collapse
-
#attachment_uri(attachment_name) ⇒ Object
returns URI to fetch the attachment from.
-
#attachment_url(attachment_name) ⇒ Object
returns URL to fetch the attachment from.
-
#create_attachment(args = {}) ⇒ Object
Add a file attachment to the current document.
-
#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_uri(attachment_name) ⇒ Object
returns URI to fetch the attachment from
49 50 51 52 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 49 def () return unless () "#{database.uri}/#{self.id}/#{}" end |
#attachment_url(attachment_name) ⇒ Object
returns URL to fetch the attachment from
43 44 45 46 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 43 def () return unless () "#{database.root}/#{self.id}/#{}" end |
#create_attachment(args = {}) ⇒ Object
Add a file attachment to the current document. Expects :file and :name to be included in the arguments.
7 8 9 10 11 12 13 14 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 7 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
32 33 34 35 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 32 def () return unless self['_attachments'] self['_attachments'].delete end |
#has_attachment?(attachment_name) ⇒ Boolean
returns true if attachment_name exists
38 39 40 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 38 def () !!(self['_attachments'] && self['_attachments'][] && !self['_attachments'][].empty?) end |
#read_attachment(attachment_name) ⇒ Object
reads the data from an attachment
17 18 19 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 17 def () database.(self, ) end |
#update_attachment(args = {}) ⇒ Object
modifies a file attachment on the current doc
22 23 24 25 26 27 28 29 |
# File 'lib/couchrest/mixins/extended_attachments.rb', line 22 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 |