class Paperclip::AttachmentAdapter

Public Class Methods

new(target) click to toggle source
# File lib/paperclip/io_adapters/attachment_adapter.rb, line 3
def initialize(target)
  @target, @style = case target
  when Paperclip::Attachment
    [target, :original]
  when Paperclip::Style
    [target.attachment, target.name]
  end

  cache_current_values
end

Private Instance Methods

cache_current_values() click to toggle source
# File lib/paperclip/io_adapters/attachment_adapter.rb, line 16
def cache_current_values
  self.original_filename = @target.original_filename
  @content_type = @target.content_type
  @tempfile = copy_to_tempfile(@target)
  @size = @tempfile.size || @target.size
end
copy_to_tempfile(source) click to toggle source
# File lib/paperclip/io_adapters/attachment_adapter.rb, line 23
def copy_to_tempfile(source)
  if source.staged?
    FileUtils.cp(source.staged_path(@style), destination.path)
  else
    source.copy_to_local_file(@style, destination.path)
  end
  destination
end