class AsyncPaperclipUploader::Permanent

Public Class Methods

new(class_name, object_id, attribute, filepath) click to toggle source
# File lib/async_paperclip_uploader/permanent.rb, line 4
def initialize(class_name, object_id, attribute, filepath)
  @object = Object::const_get(class_name).find_by_id(object_id)
  @attribute = attribute
  @filepath = filepath
end

Public Instance Methods

call() { || ... } click to toggle source
# File lib/async_paperclip_uploader/permanent.rb, line 10
def call
  @object.send("#{@attribute}=", file)
  if @object.save
    if block_given?
      yield
    end
    clean 
  end
end

Private Instance Methods

clean() click to toggle source
# File lib/async_paperclip_uploader/permanent.rb, line 25
def clean
  File.delete(@filepath)
end
file() click to toggle source
# File lib/async_paperclip_uploader/permanent.rb, line 21
def file
  File.open(@filepath)
end