Class: Flickr::User
- Inherits:
-
Object
- Object
- Flickr::User
- Defined in:
- lib/flickr.rb
Overview
Todo: logged_in? if logged in: flickr.blogs.getList flickr.favorites.add flickr.favorites.remove flickr.groups.browse flickr.photos.getCounts flickr.photos.getNotInSet flickr.photos.getUntagged flickr.photosets.create flickr.photosets.orderSets flickr.test.login uploading
Instance Attribute Summary (collapse)
-
- (Object) client
readonly
Returns the value of attribute client.
-
- (Object) count
readonly
Returns the value of attribute count.
-
- (Object) firstdate
readonly
Returns the value of attribute firstdate.
-
- (Object) firstdatetaken
readonly
Returns the value of attribute firstdatetaken.
-
- (Object) id
readonly
Returns the value of attribute id.
-
- (Object) location
readonly
Returns the value of attribute location.
-
- (Object) name
readonly
Returns the value of attribute name.
-
- (Object) photos_url
readonly
Builds url for user's photos page as per www.flickr.com/services/api/misc.urls.html.
-
- (Object) url
readonly
Builds url for user's profile page as per www.flickr.com/services/api/misc.urls.html.
Instance Method Summary (collapse)
-
- (Object) contacts
Implements flickr.contacts.getPublicList and flickr.contacts.getList.
-
- (Object) contactsPhotos
Implements flickr.photos.getContactsPublicPhotos and flickr.photos.getContactsPhotos.
-
- (Object) favorites
Implements flickr.favorites.getPublicList.
-
- (Object) groups
Implements flickr.people.getPublicGroups.
-
- (User) initialize(id_or_params_hash = nil, username = nil, email = nil, password = nil, api_key = {})
constructor
A Flickr::User can be instantiated in two ways.
-
- (Object) photos(options = {})
Implements flickr.people.getPublicPhotos.
-
- (Object) photosets
Implements flickr.photosets.getList.
-
- (Object) popular_tags(count = 10)
Implements flickr.tags.getListUserPopular.
- - (Object) pretty_url
-
- (Object) tag(tag)
Gets photos with a given tag.
-
- (Object) tags
Implements flickr.tags.getListUser.
- - (Object) to_s
- - (Object) username
Constructor Details
- (User) initialize(id_or_params_hash = nil, username = nil, email = nil, password = nil, api_key = {})
A Flickr::User can be instantiated in two ways. The old (deprecated) method is with an ordered series of values. The new method is with a params Hash, which is easier when a variable number of params are supplied, which is the case here, and also avoids having to constantly supply nil values for the email and password, which are now irrelevant as authentication is no longer done this way. An associated flickr client will also be generated if an api key is passed among the arguments or in the params hash. Alternatively, and most likely, an existing client object may be passed in the params hash (e.g. 'client' => some_existing_flickr_client_object), and this is what happends when users are initlialized as the result of a method called on the flickr client (e.g. flickr.users)
310 311 312 313 314 315 316 317 318 319 320 321 |
# File 'lib/flickr.rb', line 310 def initialize(id_or_params_hash=nil, username=nil, email=nil, password=nil, api_key={}) if id_or_params_hash.is_a?(Hash) id_or_params_hash.each { |k,v| self.instance_variable_set("@#{k}", v) } # convert extra_params into instance variables else @id = id_or_params_hash @username = username @email = email @password = password @api_key = api_key end @client ||= Flickr.new(:api_key => @api_key, :shared_secret => @shared_secret, :auth_token => @auth_token) if @api_key end |
Instance Attribute Details
- (Object) client (readonly)
Returns the value of attribute client
296 297 298 |
# File 'lib/flickr.rb', line 296 def client @client end |
- (Object) count (readonly)
Returns the value of attribute count
296 297 298 |
# File 'lib/flickr.rb', line 296 def count @count end |
- (Object) firstdate (readonly)
Returns the value of attribute firstdate
296 297 298 |
# File 'lib/flickr.rb', line 296 def firstdate @firstdate end |
- (Object) firstdatetaken (readonly)
Returns the value of attribute firstdatetaken
296 297 298 |
# File 'lib/flickr.rb', line 296 def firstdatetaken @firstdatetaken end |
- (Object) id (readonly)
Returns the value of attribute id
296 297 298 |
# File 'lib/flickr.rb', line 296 def id @id end |
- (Object) location (readonly)
Returns the value of attribute location
296 297 298 |
# File 'lib/flickr.rb', line 296 def location @location end |
- (Object) name (readonly)
Returns the value of attribute name
296 297 298 |
# File 'lib/flickr.rb', line 296 def name @name end |
- (Object) photos_url (readonly)
Builds url for user's photos page as per www.flickr.com/services/api/misc.urls.html
344 345 346 |
# File 'lib/flickr.rb', line 344 def photos_url @photos_url end |
- (Object) url (readonly)
Builds url for user's profile page as per www.flickr.com/services/api/misc.urls.html
350 351 352 |
# File 'lib/flickr.rb', line 350 def url @url end |
Instance Method Details
- (Object) contacts
Implements flickr.contacts.getPublicList and flickr.contacts.getList
382 383 384 385 |
# File 'lib/flickr.rb', line 382 def contacts @client.contacts_getPublicList('user_id'=>@id)['contacts']['contact'].collect { |contact| User.new(contact['nsid'], contact['username'], nil, nil, @api_key) } #or end |
- (Object) contactsPhotos
Implements flickr.photos.getContactsPublicPhotos and flickr.photos.getContactsPhotos
408 409 410 |
# File 'lib/flickr.rb', line 408 def contactsPhotos @client.photos_request('photos.getContactsPublicPhotos', 'user_id' => @id) end |
- (Object) favorites
Implements flickr.favorites.getPublicList
388 389 390 |
# File 'lib/flickr.rb', line 388 def favorites @client.photos_request('favorites.getPublicList', 'user_id' => @id) end |
- (Object) groups
Implements flickr.people.getPublicGroups
359 360 361 362 363 364 365 366 |
# File 'lib/flickr.rb', line 359 def groups collection = @client.people_getPublicGroups('user_id'=>@id)['groups']['group'] collection = [collection] if collection.is_a? Hash collection.collect { |group| Group.new( "id" => group['nsid'], "name" => group['name'], "eighteenplus" => group['eighteenplus'], "client" => @client) } end |
- (Object) photos(options = {})
Implements flickr.people.getPublicPhotos. Options hash allows you to add extra restrictions as per flickr.people.getPublicPhotos docs, e.g. user.photos('per_page' => '25', 'extras' => 'date_taken')
371 372 373 374 |
# File 'lib/flickr.rb', line 371 def photos(={}) @client.photos_request('people.getPublicPhotos', {'user_id' => @id}.merge()) # what about non-public photos? end |
- (Object) photosets
Implements flickr.photosets.getList
393 394 395 |
# File 'lib/flickr.rb', line 393 def photosets @client.photosets_getList('user_id'=>@id)['photosets']['photoset'].collect { |photoset| Photoset.new(photoset['id'], @api_key) } end |
- (Object) popular_tags(count = 10)
Implements flickr.tags.getListUserPopular
403 404 405 |
# File 'lib/flickr.rb', line 403 def (count = 10) @client.('user_id'=>@id, 'count'=> count)['who']['tags']['tag'].each { |tag_score| tag_score["tag"] = tag_score.delete("content") } end |
- (Object) pretty_url
354 355 356 |
# File 'lib/flickr.rb', line 354 def pretty_url @pretty_url ||= @client.urls_getUserProfile('user_id'=>@id)['user']['url'] end |
- (Object) tag(tag)
Gets photos with a given tag
377 378 379 |
# File 'lib/flickr.rb', line 377 def tag(tag) @client.photos('user_id'=>@id, 'tags'=>tag) end |
- (Object) tags
Implements flickr.tags.getListUser
398 399 400 |
# File 'lib/flickr.rb', line 398 def @client.('user_id'=>@id)['who']['tags']['tag'].collect { |tag| tag } end |
- (Object) to_s
412 413 414 |
# File 'lib/flickr.rb', line 412 def to_s @name end |
- (Object) username
323 324 325 |
# File 'lib/flickr.rb', line 323 def username @username.nil? ? getInfo.username : @username end |