class Flickrie::Client
Public Instance Methods
method_missing(name, *args, &block)
click to toggle source
Calls superclass method
# File lib/flickrie/client.rb, line 20 def method_missing(name, *args, &block) [ name.to_s.sub(/media|photos?|videos?/, "(photos|videos|media)"), name.to_s.sub(/media|photos?|videos?/, "(photo|video|media)"), name.to_s.sub(/media|photos?|videos?/, "(photo|video)") ]. each do |method_name| if flickr_method = FLICKR_API_METHODS.invert[method_name] http_method, params = methods[flickr_method] return send(http_method, flickr_method, params.call(*args)) end end super end
methods()
click to toggle source
# File lib/flickrie/client/methods.rb, line 3 def methods @methods ||= { "flickr.people.findByEmail" => [:get, ->(email, params = {}) { {find_email: email}.merge(params) }], "flickr.people.findByUsername" => [:get, ->(username, params = {}) { {username: username}.merge(params) }], "flickr.people.getInfo" => [:get, ->(nsid, params = {}) { {user_id: nsid}.merge(params) }], "flickr.people.getPhotos" => [:get, ->(nsid, params = {}) { ensure_media({user_id: nsid}.merge(params)) }], "flickr.people.getPhotosOf" => [:get, ->(nsid, params = {}) { ensure_media({user_id: nsid}.merge(params)) }], "flickr.people.getPublicPhotos" => [:get, ->(nsid, params = {}) { ensure_media({user_id: nsid}.merge(params)) }], "flickr.people.getUploadStatus" => [:get, ->(params = {}) { params }], "flickr.photos.addTags" => [:post, ->(media_id, tags, params = {}) { {photo_id: media_id, tags: tags}.merge(params) }], "flickr.photos.delete" => [:post, ->(media_id, params = {}) { {photo_id: media_id}.merge(params) }], "flickr.photos.getContactsPhotos" => [:get, ->(params = {}) { ensure_media(params) }], "flickr.photos.getContactsPublicPhotos" => [:get, ->(nsid, params = {}) { ensure_media({user_id: nsid}.merge(params)) }], "flickr.photos.getContext" => [:get, ->(media_id, params = {}) { {photo_id: media_id}.merge(params) }], "flickr.photos.getCounts" => [:get, ->(params = {}) { ensure_utc(params) }], "flickr.photos.getExif" => [:get, ->(media_id, params = {}) { {photo_id: media_id}.merge(params) }], "flickr.photos.getFavorites" => [:get, ->(media_id, params = {}) { {photo_id: media_id}.merge(params) }], "flickr.photos.getInfo" => [:get, ->(media_id, params = {}) { {photo_id: media_id}.merge(params) }], "flickr.photos.getNotInSet" => [:get, ->(params = {}) { ensure_media(params) }], "flickr.photos.getPerms" => [:get, ->(media_id, params = {}) { {photo_id: media_id}.merge(params) }], "flickr.photos.getRecent" => [:get, ->(params = {}) { ensure_media(params) }], "flickr.photos.getSizes" => [:get, ->(media_id, params = {}) { {photo_id: media_id}.merge(params) }], "flickr.photos.getUntagged" => [:get, ->(params = {}) { ensure_media(params) }], "flickr.photos.getWithGeoData" => [:get, ->(params = {}) { ensure_media(params) }], "flickr.photos.getWithoutGeoData" => [:get, ->(params = {}) { ensure_media(params) }], "flickr.photos.recentlyUpdated" => [:get, ->(params = {}) { ensure_media(params) }], "flickr.photos.removeTag" => [:post, ->(tag_id, params = {}) { {tag_id: tag_id}.merge(params) }], "flickr.photos.search" => [:get, ->(params = {}) { ensure_media(params) }], "flickr.photos.setContentType" => [:post, ->(media_id, content_type, params = {}) { {photo_id: media_id, content_type: content_type}.merge(params) }], "flickr.photos.setDates" => [:post, ->(media_id, params = {}) { {photo_id: media_id}.merge(params) }], "flickr.photos.setMeta" => [:post, ->(media_id, params = {}) { {photo_id: media_id}.merge(params) }], "flickr.photos.setPerms" => [:post, ->(media_id, params = {}) { {photo_id: media_id}.merge(params) }], "flickr.photos.setSafetyLevel" => [:post, ->(media_id, params = {}) { {photo_id: media_id}.merge(params) }], "flickr.photos.setTags" => [:post, ->(media_id, tags, params = {}) { {photo_id: media_id, tags: tags}.merge(params) }], "flickr.photos.comments.addComment" => [:post, ->(media_id, comment, params = {}) { {photo_id: media_id, comment_text: comment}.merge(params) }], "flickr.photos.comments.deleteComment" => [:post, ->(comment_id, params = {}) { {comment_id: comment_id}.merge(params) }], "flickr.photos.comments.editComment" => [:post, ->(comment_id, comment, params = {}) { {comment_id: comment_id, comment_text: comment}.merge(params) }], "flickr.photos.comments.getList" => [:get, ->(media_id, params = {}) { {photo_id: media_id}.merge(params) }], "flickr.photos.comments.getRecentForContacts" => [:get, ->(params = {}) { ensure_media(params) }], "flickr.photos.upload.checkTickets" => [:get, ->(tickets, params = {}) { {tickets: tickets}.merge(params) }], "flickr.photos.licenses.getInfo" => [:get, ->(params = {}) { params }], "flickr.photos.licenses.setLicense" => [:post, ->(media_id, license_id, params = {}) { {photo_id: media_id, license_id: license_id}.merge(params) }], "flickr.photos.transform.rotate" => [:post, ->(media_id, degrees, params = {}) { {photo_id: media_id, degrees: degrees}.merge(params) }], "flickr.photosets.addPhoto" => [:post, ->(set_id, media_id, params = {}) { {photoset_id: set_id, photo_id: media_id}.merge(params) }], "flickr.photosets.create" => [:post, ->(params = {}) { params }], "flickr.photosets.delete" => [:post, ->(set_id, params = {}) { {photoset_id: set_id}.merge(params) }], "flickr.photosets.editMeta" => [:post, ->(set_id, params = {}) { {photoset_id: set_id}.merge(params) }], "flickr.photosets.editPhotos" => [:post, ->(set_id, params = {}) { {photoset_id: set_id}.merge(params) }], "flickr.photosets.getContext" => [:get, ->(set_id, media_id, params = {}) { {photoset_id: set_id, photo_id: media_id}.merge(params) }], "flickr.photosets.getInfo" => [:get, ->(set_id, params = {}) { {photoset_id: set_id}.merge(params) }], "flickr.photosets.getList" => [:get, ->(nsid, params = {}) { {user_id: nsid}.merge(params) }], "flickr.photosets.getPhotos" => [:get, ->(set_id, params = {}) { ensure_media({photoset_id: set_id}.merge(params)) }], "flickr.photosets.orderSets" => [:post, ->(set_ids, params = {}) { {photoset_ids: set_ids}.merge(params) }], "flickr.photosets.removePhotos" => [:post, ->(set_id, media_ids, params = {}) { {photoset_id: set_id, photo_ids: media_ids}.merge(params) }], "flickr.photosets.reorderPhotos" => [:post, ->(set_id, media_ids, params = {}) { {photoset_id: set_id, photo_ids: media_ids}.merge(params) }], "flickr.photosets.setPrimaryPhoto" => [:post, ->(set_id, media_id, params = {}) { {photoset_id: set_id, photo_id: media_id}.merge(params) }], "flickr.reflection.getMethods" => [:get, ->(params = {}) { params }], "flickr.test.login" => [:get, ->(params = {}) { params }], } end
Private Instance Methods
ensure_media(params)
click to toggle source
# File lib/flickrie/client/methods.rb, line 73 def ensure_media(params) params.dup.tap do |dup_params| dup_params[:extras] = [dup_params[:extras], 'media'].compact.join(',') end end
ensure_utc(params)
click to toggle source
# File lib/flickrie/client/methods.rb, line 79 def ensure_utc(params) params.dup.tap do |hash| if hash[:taken_dates].is_a?(String) hash[:taken_dates] = hash[:taken_dates].split(','). map { |date| DateTime.parse(date) }. map(&:to_time).map(&:getutc).join(',') end end end