class TBird::Uploader
Attributes
acl[R]
content_type[R]
file[R]
metadata[R]
options[R]
original_filename[R]
uploads[R]
Public Class Methods
new(file, options = {})
click to toggle source
# File lib/t_bird/uploader.rb, line 6 def initialize(file, options = {}) @file = file @acl = options.fetch(:acl, :public_read) @options = default_options.merge(options) @uploads = {} @content_type = @file[:type] @original_filename = @file[:filename] @metadata = { acl: acl, content_type: content_type, metadata: @options[:metadata] || {} } end
version(name, &block)
click to toggle source
# File lib/t_bird/uploader.rb, line 46 def self.version(name, &block) @versions ||= {} @versions[name.to_sym] = block end
versions()
click to toggle source
# File lib/t_bird/uploader.rb, line 39 def self.versions @versions ||= { thumbnail: ->(img) { img.thumbnail }, original: ->(img) { img.original } } end
Public Instance Methods
namer()
click to toggle source
# File lib/t_bird/uploader.rb, line 16 def namer @namer ||= Namer.new(original_filename, options[:identifier], options[:token]) end
processor()
click to toggle source
# File lib/t_bird/uploader.rb, line 20 def processor Processor.new(@file[:tempfile]) end
transmitter()
click to toggle source
# File lib/t_bird/uploader.rb, line 24 def transmitter @transmitter ||= Transmitter.new end
upload!()
click to toggle source
# File lib/t_bird/uploader.rb, line 28 def upload! versions.each do |version,block| @uploads[version] = transmitter.transmit!(namer.new_name(version), block.call(processor), metadata) end uploads end
versions()
click to toggle source
# File lib/t_bird/uploader.rb, line 35 def versions self.class.versions end
Private Instance Methods
default_options()
click to toggle source
# File lib/t_bird/uploader.rb, line 53 def default_options { identifier: nil, token: nil } end