module Paperdragon::File::Process

DISCUSS: allow the metadata passing here or not?

Public Instance Methods

process!(file, new_uid=nil, metadata={}) { |job| ... } click to toggle source
# File lib/paperdragon/file/operations.rb, line 5
def process!(file, new_uid=nil, metadata={})
  job = Dragonfly.app.new_job(file)

  yield job if block_given?

  old_uid = uid
  uid!(new_uid) if new_uid # set new uid if this is a replace.

  upload!(job, old_uid, new_uid, metadata)
end

Private Instance Methods

upload!(job, old_uid, new_uid, metadata) click to toggle source

Upload file, delete old file if there is one.

# File lib/paperdragon/file/operations.rb, line 18
def upload!(job, old_uid, new_uid, metadata)
  puts "........................STORE  (process): #{uid}"
  job.store(path: uid, :headers => {'x-amz-acl' => 'public-read', "Content-Type" => "image/jpeg"})

  if new_uid # new uid means delete old one.
    puts "........................DELETE (reprocess): #{old_uid}"
    Dragonfly.app.destroy(old_uid)
  end

  @data = nil
  metadata_for(job, metadata)
end