Sha256: 99387e4068949d3a1285954fc1e00b860f0c7cbc836881ca44dbf2043f278671
Contents?: true
Size: 1.58 KB
Versions: 1
Compression:
Stored size: 1.58 KB
Contents
module ActiveMetadata::Persistence::Mongoid::Attachment def self.included(receiver) receiver.send :include, InstanceMethods end module InstanceMethods def save_attachment_for(field, file) label = ActiveMeta.find_or_create_by(:document_id => metadata_id).labels.find_or_create_by(:name => field.to_s) counter = label.attachments.count > 0 ? label.attachments.last.counter : 0 attachment = Attachment.new(:attach => file, :counter => (counter + 1)) label.attachments << attachment label.save self.send(:send_notification, field, "", attachment.attach.original_filename) end def attachments_for(field) label = ActiveMeta.find_or_create_by(:document_id => metadata_id).labels.find_or_create_by(:name => field.to_s) label.attachments.desc(:attach_updated_at).to_a end def delete_attachment_for(field,id) a = ActiveMeta.find_or_create_by(:document_id => metadata_id).labels.find_or_create_by(:name => field.to_s).attachments.find(id) filename = a.attach.original_filename a.destroy self.send(:send_notification, field, filename, "") end def update_attachment_for(field, id, newfile) a = ActiveMeta.find_or_create_by(:document_id => metadata_id).labels.find_or_create_by(:name => field.to_s).attachments.find(id) old_filename = a.attach.original_filename a.attach = newfile a.save new_filename = a.attach.original_filename self.send(:send_notification, field, old_filename, new_filename) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_metadata-0.1.9 | lib/active_metadata/persistence/mongoid/attachment.rb |