class CarrierWave::Storage::Flickr
Public Instance Methods
identifier()
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 21 def identifier (@info.as_json || {}).slice( 'id', 'secret', 'server', 'farm', 'originalsecret', 'originalformat').to_json end
retrieve!(identifier)
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 16 def retrieve!(identifier) info = JSON.parse(identifier) CarrierWave::Storage::Flickr::File.new(uploader, self, info) end
store!(file)
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 8 def store!(file) f = CarrierWave::Storage::Flickr::File.new(uploader, self) @info = f.store(file) store_identifier store_sizes if store_sizes? f end
Private Instance Methods
prepare_sizes(raw_sizes)
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 48 def prepare_sizes(raw_sizes) raw_sizes.each_with_object({}) do |raw_size, sizes| key = raw_size['label'].downcase.gsub(/ /, '_').to_sym sizes[key] = { height: raw_size['height'].to_i, width: raw_size['width'].to_i } end end
store_identifier()
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 33 def store_identifier column = @uploader.mounted_as model = @uploader.model model.public_send(:"write_#{column}_identifier") end
store_sizes()
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 40 def store_sizes photo_sizes = flickr.photos.getSizes 'photo_id' => @info['id'] model = @uploader.model model.update_column uploader.store_flickr_photo_sizes, prepare_sizes(photo_sizes) end
store_sizes?()
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 59 def store_sizes? uploader.store_flickr_photo_sizes.present? end