Class: Flickr::PhotoCollection
- Inherits:
-
Array
- Object
- Array
- Flickr::PhotoCollection
- Defined in:
- lib/flickr.rb
Overview
A collection of photos is returned as a PhotoCollection, a subclass of Array. This allows us to retain the pagination info returned by Flickr and make it accessible in a friendly way
Instance Attribute Summary (collapse)
-
- (Object) page
readonly
Returns the value of attribute page.
-
- (Object) pages
readonly
Returns the value of attribute pages.
-
- (Object) perpage
readonly
Returns the value of attribute perpage.
-
- (Object) total
readonly
Returns the value of attribute total.
Instance Method Summary (collapse)
-
- (PhotoCollection) initialize(photos_api_response = {}, api_key = {}, list_node = "photos")
constructor
builds a PhotoCollection from given params, such as those returned from photos.search API call.
Constructor Details
- (PhotoCollection) initialize(photos_api_response = {}, api_key = {}, list_node = "photos")
builds a PhotoCollection from given params, such as those returned from photos.search API call. Note all the info is contained in the value of the first (and only) key-value pair of the response. The key will vary depending on the original object the photos are related to (e.g 'photos', 'photoset', etc)
238 239 240 241 242 243 244 |
# File 'lib/flickr.rb', line 238 def initialize(photos_api_response={}, api_key={}, list_node="photos") photos = photos_api_response[list_node] [ "page", "pages", "perpage", "total" ].each { |i| instance_variable_set("@#{i}", photos[i])} collection = photos['photo'] || [] collection = [collection] if collection.is_a? Hash collection.each { |photo| self << Photo.new(photo.delete('id'), api_key, photo) } end |
Instance Attribute Details
- (Object) page (readonly)
Returns the value of attribute page
231 232 233 |
# File 'lib/flickr.rb', line 231 def page @page end |
- (Object) pages (readonly)
Returns the value of attribute pages
231 232 233 |
# File 'lib/flickr.rb', line 231 def pages @pages end |
- (Object) perpage (readonly)
Returns the value of attribute perpage
231 232 233 |
# File 'lib/flickr.rb', line 231 def perpage @perpage end |
- (Object) total (readonly)
Returns the value of attribute total
231 232 233 |
# File 'lib/flickr.rb', line 231 def total @total end |