class CarrierWave::Storage::Flickr::File
Public Class Methods
new(uploader, base, info = nil)
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 64 def initialize(uploader, base, info = nil) @uploader = uploader @base = base @info = FlickRaw::Response.build(info, 'photo') if info end
Public Instance Methods
delete()
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 92 def delete flickr.photos.delete 'photo_id' => @info['id'] end
path()
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 74 def path url end
store(new_file)
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 78 def store(new_file) file = new_file.to_file photo_id = flickr.upload_photo file, **store_options add_to_album(photo_id) if album.present? apply_license(photo_id, license_id) if license_id.present? file.close if file && !file.closed? @info = flickr.photos.getInfo('photo_id' => photo_id) end
url(format: :original)
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 70 def url(format: :original) FlickRaw.public_send(format_getter(format), @info) if @info end
Private Instance Methods
add_to_album(photo_id)
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 98 def add_to_album(photo_id) flickr.photosets.addPhoto( 'photo_id' => photo_id, 'photoset_id' => album) end
album()
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 104 def album @uploader.flickr_credentials[:album] end
apply_license(photo_id, license_id)
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 108 def apply_license(photo_id, license_id) flickr.photos.licenses.setLicense( 'license_id' => license_id, 'photo_id' => photo_id) end
format_getter(format)
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 129 def format_getter(format) { square: :url_s, large_square: :url_q, thumbnail: :url_t, small: :url_m, small_320: :url_n, medium: :url, medium_640: :url_z, medium_800: :url_c, large: :url_b, original: :url_o }.fetch(format) end
license_id()
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 114 def license_id @uploader.flickr_credentials[:license_id] end
model()
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 125 def model @uploader.model end
store_options()
click to toggle source
# File lib/carrierwave/storage/flickr.rb, line 118 def store_options {}.tap do |options| options[:title] = model.title if model.respond_to?(:title) options[:description] = model.description if model.respond_to?(:description) end.reject { |k, v| v.blank? } end