Sha256: ec2b5757f82c3b8bd146f490b9168352b27667f15be3fa1dc9dc9e453b19b424

Contents?: true

Size: 1007 Bytes

Versions: 34

Compression:

Stored size: 1007 Bytes

Contents

module Paperclip
  class UploadedFileAdapter < AbstractAdapter
    def initialize(target)
      @target = target
      cache_current_values

      if @target.respond_to?(:tempfile)
        @tempfile = copy_to_tempfile(@target.tempfile)
      else
        @tempfile = copy_to_tempfile(@target)
      end
    end

    class << self
      attr_accessor :content_type_detector
    end

    private

    def cache_current_values
      self.original_filename = @target.original_filename
      @content_type = determine_content_type
      @size = File.size(@target.path)
    end

    def content_type_detector
      self.class.content_type_detector
    end

    def determine_content_type
      content_type = @target.content_type.to_s.strip
      if content_type_detector
        content_type = content_type_detector.new(@target.path).detect
      end
      content_type
    end
  end
end

Paperclip.io_adapters.register Paperclip::UploadedFileAdapter do |target|
  target.class.name.include?("UploadedFile")
end

Version data entries

34 entries across 32 versions & 5 rubygems

Version Path
kt-paperclip-4.4.0 lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip-5.0.0 lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip-4.3.7 lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip_jk-5.0.0.beta2 lib/paperclip/io_adapters/uploaded_file_adapter.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/paperclip-4.3.6/lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip-5.0.0.beta2 lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip-5.0.0.beta1 lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip-4.3.6 lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip-4.3.5 lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip-4.3.4 lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip-4.3.3 lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip-4.3.2 lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip-4.3.1 lib/paperclip/io_adapters/uploaded_file_adapter.rb
solidus_backend-1.0.0.pre3 vendor/bundle/gems/paperclip-4.2.4/lib/paperclip/io_adapters/uploaded_file_adapter.rb
solidus_backend-1.0.0.pre2 vendor/bundle/gems/paperclip-4.2.4/lib/paperclip/io_adapters/uploaded_file_adapter.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/paperclip-4.2.3/lib/paperclip/io_adapters/uploaded_file_adapter.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/paperclip-4.2.2/lib/paperclip/io_adapters/uploaded_file_adapter.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/paperclip-4.2.4/lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip-4.3.0 lib/paperclip/io_adapters/uploaded_file_adapter.rb
paperclip-4.2.4 lib/paperclip/io_adapters/uploaded_file_adapter.rb