Sha256: 27eb920d9e9e413607faad577d21db2bbabf0ed133b71d2d3a92fe253286a3fc

Contents?: true

Size: 1.24 KB

Versions: 7

Compression:

Stored size: 1.24 KB

Contents

class Flickr::Photosets < Flickr::Base
  def initialize(flickr)
    @flickr = flickr
  end

  # Get the authorized user's contact list.
  #
  def get_list(options={})
    rsp = @flickr.send_request('flickr.photosets.getList', options)
    collect_photosets(rsp)
  end

  #required:
  # title
  # primary_photo_id
  #
  def create(title, primary_photo_id, options={})
    options.merge!({:title => title, :primary_photo_id => primary_photo_id})
    @flickr.send_request('flickr.photosets.create', options)
  end

  protected
    def collect_photosets(rsp)
      photosets = []
      return photosets unless rsp
      if rsp.photosets.photoset
        rsp.photosets.photoset.each do |photoset|
          attributes = create_attributes(photoset)
          photosets << Photoset.new(@flickr, attributes)
        end
      end
      return photosets
    end

    def create_attributes(photoset)
      # comment by : smeevil
      #
      # for some reason it was needed to call to_s on photoset.title and photoset.description
      # without this it will not set the value correctly
      {
        :id => photoset[:id],
        :num_photos => photoset[:photos],
        :title => photoset.title.to_s,
        :description => photoset.description.to_s
       }
    end

end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
flickr_fu-0.3.4 lib/flickr/photosets.rb
flickr_fu-0.3.3 lib/flickr/photosets.rb
fotonauts-flickr_fu-0.3.8 lib/flickr/photosets.rb
fotonauts-flickr_fu-0.3.7 lib/flickr/photosets.rb
fotonauts-flickr_fu-0.3.6 lib/flickr/photosets.rb
flickr_fu-0.3.2 lib/flickr/photosets.rb
flickr_fu-0.3.1 lib/flickr/photosets.rb