Sha256: 77187f1895437062fa13e5da82f574dda19a3f76f061fcab50bb949638ddd16e

Contents?: true

Size: 977 Bytes

Versions: 3

Compression:

Stored size: 977 Bytes

Contents

module CouchSurfer
  module Attachments
    # saves an attachment directly to couchdb
    def put_attachment(name, file, options={})
      raise ArgumentError, "doc must be saved" unless self.rev
      raise ArgumentError, "doc.database required to put_attachment" unless database
      result = database.put_attachment(self, name, file, options)
      self['_rev'] = result['rev']
      result['ok']
    end

    # returns an attachment's data
    def fetch_attachment(name)
      raise ArgumentError, "doc must be saved" unless self.rev
      raise ArgumentError, "doc.database required to put_attachment" unless database
      database.fetch_attachment(self, name)
    end

    # deletes an attachment directly from couchdb
    def delete_attachment(name)
      raise ArgumentError, "doc.database required to delete_attachment" unless database
      result = database.delete_attachment(self, name)
      self['_rev'] = result['rev']
      result['ok']
    end    
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
couch_surfer-0.3.4 lib/couch_surfer/attachments.rb
couch_surfer-0.3.3 lib/couch_surfer/attachments.rb
couch_surfer-0.3.2 lib/couch_surfer/attachments.rb