class Paperclip::StringioAdapter
Attributes
content_type[W]
Public Class Methods
new(target, options = {})
click to toggle source
Calls superclass method
Paperclip::AbstractAdapter::new
# File lib/paperclip/io_adapters/stringio_adapter.rb, line 9 def initialize(target, options = {}) super cache_current_values end
register()
click to toggle source
# File lib/paperclip/io_adapters/stringio_adapter.rb, line 3 def self.register Paperclip.io_adapters.register self do |target| StringIO === target end end
Private Instance Methods
cache_current_values()
click to toggle source
# File lib/paperclip/io_adapters/stringio_adapter.rb, line 18 def cache_current_values self.original_filename = @target.original_filename if @target.respond_to?(:original_filename) self.original_filename ||= "data" @tempfile = copy_to_tempfile(@target) @content_type = ContentTypeDetector.new(@tempfile.path).detect @size = @target.size end
copy_to_tempfile(source)
click to toggle source
# File lib/paperclip/io_adapters/stringio_adapter.rb, line 26 def copy_to_tempfile(source) while data = source.read(16*1024) destination.write(data) end destination.rewind destination end