class Flickr::Api::Abstract::ParamsProcessor
Does processing of parameters passed to API requests, to enable nicer syntax.
@private
Attributes
params[R]
Public Class Methods
new(params)
click to toggle source
# File lib/flickr/api/abstract/params_processor.rb, line 15 def initialize(params) @params = params end
Public Instance Methods
process_for(flickr_method)
click to toggle source
# File lib/flickr/api/abstract/params_processor.rb, line 19 def process_for(flickr_method) add_sizes! if add_sizes?(flickr_method) @params end
Private Instance Methods
add_sizes!()
click to toggle source
@example
processor = ParamsProcessor.new({sizes: true}) processor.add_sizes! processor.params #=> {extras: "url_sq,url_t,url_q,url_s,url_n,url_m,url_z,url_c,url_l,url_h,url_k,url_o"} processor = ParamsProcessor.new({sizes: ["Square 75", "Thumbnail"]}) processor.add_sizes! processor.params #=> {extras: "url_sq,url_t"}
# File lib/flickr/api/abstract/params_processor.rb, line 37 def add_sizes! if [true, :all].include? @params[:sizes] @params[:sizes] = Flickr::Object::Photo::SIZES end sizes = Array(@params[:sizes]) .map { |name| Flickr::Object::Photo::Size.new(name) } .map { |size| "url_#{size.abbreviation}" } existing_extras = String(@params[:extras]).split(",") @params[:extras] = (existing_extras + sizes).join(",") end
add_sizes?(flickr_method)
click to toggle source
# File lib/flickr/api/abstract/params_processor.rb, line 50 def add_sizes?(flickr_method) [ "favorites.getPublicList", "favorites.getList", "galleries.getPhotos", "groups.pools.getPhotos", "interestingness.getList", "people.getPhotos", "people.getPhotosOf", "panda.getPhotos", "people.getPublicPhotos", "photos.comments.getRecentForContacts", "photos.geo.getLocation", "photos.geo.photosForLocation", "photos.getContactsPhotos", "photos.getContactsPublicPhotos", "photos.getNotInSet", "photos.getRecent", "photos.getWithGeoData", "photos.getUntagged", "photos.getWithoutGeoData", "photos.search", "photos.recentlyUpdated", "photosets.getPhotos" ].include?(flickr_method) end