Class: Fleakr::Objects::User
- Inherits:
-
Object
- Object
- Fleakr::Objects::User
- Includes:
- Support::Object
- Defined in:
- lib/fleakr/objects/user.rb
Overview
User
Accessors
This class maps directly onto the flickr.people.* API methods and provides the following attributes for a user:
- id
-
The ID for this user (also referred to as the NSID in the API docs)
- username
-
This user’s username
- name
-
This user’s full name (if entered)
- location
-
This user’s location (if entered)
- photos_url
-
The direct URL to this user’s photostream
- profile_url
-
The direct URL to this user’s profile
- photos_count
-
The number of photos that this user has uploaded
- icon_url
-
This user’s buddy icon (or a default one if an icon wasn’t uploaded)
- pro?
-
Does this user have a pro account?
- admin?
-
Is this user an admin?
Associations
The User class is pretty central to many of the other data available across the system, so there are a few associations available to a user:
- sets
-
A list of this user’s public sets (newest first). See Fleakr::Objects::Set for more information.
- groups
-
A list of this user’s public groups. See Fleakr::Objects::Group.
- photos
-
A list of this user’s public photos (newest first). See Fleakr::Objects::Photo.
- contacts
-
A list of this user’s contacts - these are simply User objects
- tags
-
The tags associated with this user
- collections
-
The top-level collections that this user has created. See Fleakr::Objects::Collection.
Examples
Access to a specific user is typically done through the Fleakr.user method:
user = Fleakr.user('brownout')
user.id
user.username
user.sets
user.contacts
Class Method Summary collapse
Instance Method Summary collapse
-
#admin? ⇒ Boolean
Is this user an admin?.
-
#icon_url ⇒ Object
This user’s buddy icon.
-
#load_info ⇒ Object
:nodoc:.
-
#pro? ⇒ Boolean
Is this a pro account?.
Methods included from Support::Object
Class Method Details
.find_by_identifier(identifier) ⇒ Object
75 76 77 |
# File 'lib/fleakr/objects/user.rb', line 75 def self.find_by_identifier(identifier) user_id?(identifier) ? find_by_id(identifier) : find_by_username(identifier) end |
.user_id?(username_or_user_id) ⇒ Boolean
71 72 73 |
# File 'lib/fleakr/objects/user.rb', line 71 def self.user_id?(username_or_user_id) (username_or_user_id =~ /^\d+@N\d{2}$/) ? true : false end |
Instance Method Details
#admin? ⇒ Boolean
Is this user an admin?
85 86 87 |
# File 'lib/fleakr/objects/user.rb', line 85 def admin? (self.admin.to_i == 0) ? false : true end |
#icon_url ⇒ Object
This user’s buddy icon
90 91 92 93 94 95 96 |
# File 'lib/fleakr/objects/user.rb', line 90 def icon_url if self.icon_server.to_i > 0 "http://farm#{self.icon_farm}.static.flickr.com/#{self.icon_server}/buddyicons/#{self.id}.jpg" else 'http://www.flickr.com/images/buddyicon.jpg' end end |
#load_info ⇒ Object
:nodoc:
98 99 100 101 |
# File 'lib/fleakr/objects/user.rb', line 98 def load_info # :nodoc: response = Fleakr::Api::MethodRequest.with_response!('people.getInfo', :user_id => self.id) self.populate_from(response.body) end |
#pro? ⇒ Boolean
Is this a pro account?
80 81 82 |
# File 'lib/fleakr/objects/user.rb', line 80 def pro? (self.pro.to_i == 0) ? false : true end |