module Paperdragon::File::Rename

Public Instance Methods

rename!(fingerprint, metadata={}) { |old_uid, uid| ... } click to toggle source
# File lib/paperdragon/file/operations.rb, line 56
  def rename!(fingerprint, metadata={}) # fixme: we are currently ignoring the custom metadata.
    old_uid = uid
    uid!(fingerprint)

    puts "........................MV:
#{old_uid}
#{uid}"
    # dragonfly_s3 = Dragonfly.app.datastore
    # Dragonfly.app.datastore.storage.copy_object(dragonfly_s3.bucket_name, old_uid, dragonfly_s3.bucket_name, uid, {'x-amz-acl' => 'public-read', "Content-Type" => "image/jpeg"})
    yield old_uid, uid

    puts "........................DELETE: #{old_uid}"
    Dragonfly.app.destroy(old_uid)


    self.metadata.merge(:uid => uid) # usually, metadata is already set to the old metadata when File was created via Attachment.
  end