Class: Tagcrumbs::User
- Inherits:
-
Model
- Object
- Model
- Tagcrumbs::User
- Defined in:
- lib/tagcrumbs/resources/models/user.rb
Overview
The main actor in the webservice.
Class Method Summary collapse
-
.find_by_username(username) ⇒ Object
Load a User by its username.
-
.search(args = {}) ⇒ Object
Search Users by many different criterias.
Instance Method Summary collapse
-
#create ⇒ Object
Custom create method as the AccessToken has to be fetched and the configuration must be updated.
- #create_url ⇒ Object
-
#fan_of?(user) ⇒ Boolean
Is this user a fan of user?.
-
#fans ⇒ Object
An array of all fans of a User (people that follow this user).
-
#fanship_with(user) ⇒ Object
The fanship with a specific user.
-
#friend_with?(user) ⇒ Boolean
Is this user friend with user?.
-
#friends ⇒ Object
An array of all friends of a User (people the user is following).
-
#friendship_with(user) ⇒ Object
The friendship with a specific user.
- #to_s ⇒ Object
Class Method Details
.find_by_username(username) ⇒ Object
Load a User by its username
97 98 99 |
# File 'lib/tagcrumbs/resources/models/user.rb', line 97 def self.find_by_username(username) User.load("/#{username}") end |
.search(args = {}) ⇒ Object
Search Users by many different criterias
92 93 94 |
# File 'lib/tagcrumbs/resources/models/user.rb', line 92 def self.search(args={}) Collection.load(Tagcrumbs.root.users_url, args) end |
Instance Method Details
#create ⇒ Object
Custom create method as the AccessToken has to be fetched and the configuration must be updated
106 107 108 109 110 111 112 113 114 115 |
# File 'lib/tagcrumbs/resources/models/user.rb', line 106 def create if super && access_token.is_a?(AccessToken) Tagcrumbs.[:access_token] = access_token.token Tagcrumbs.[:access_secret] = access_token.secret true else false end end |
#create_url ⇒ Object
117 118 119 |
# File 'lib/tagcrumbs/resources/models/user.rb', line 117 def create_url Tagcrumbs.root.users_url # has to be overwritten, cannot be based on the current_user end |
#fan_of?(user) ⇒ Boolean
Is this user a fan of user?
86 87 88 |
# File 'lib/tagcrumbs/resources/models/user.rb', line 86 def fan_of?(user) fanship_with(user) ? true : false end |
#fans ⇒ Object
An array of all fans of a User (people that follow this user)
56 57 58 59 60 61 62 63 64 |
# File 'lib/tagcrumbs/resources/models/user.rb', line 56 def fans array = [] fanships.each_page do |page| array += page.map{|f| f.fan} end array end |
#fanship_with(user) ⇒ Object
The fanship with a specific user
79 80 81 82 83 |
# File 'lib/tagcrumbs/resources/models/user.rb', line 79 def fanship_with(user) Fanship.load("/#{self.username}/fans/#{user}") rescue Net::HTTPServerException => error self.requestor.response.code == '404' ? nil : (raise error) # not found end |
#friend_with?(user) ⇒ Boolean
Is this user friend with user?
74 75 76 |
# File 'lib/tagcrumbs/resources/models/user.rb', line 74 def friend_with?(user) friendship_with(user) ? true : false end |
#friends ⇒ Object
An array of all friends of a User (people the user is following)
45 46 47 48 49 50 51 52 53 |
# File 'lib/tagcrumbs/resources/models/user.rb', line 45 def friends array = [] friendships.each_page do |page| array += page.map{|f| f.friend} end array end |
#friendship_with(user) ⇒ Object
The friendship with a specific user
67 68 69 70 71 |
# File 'lib/tagcrumbs/resources/models/user.rb', line 67 def friendship_with(user) f = Friendship.load("/#{self.username}/friends/#{user}") rescue Net::HTTPServerException => error f.requestor.response.code == '404' ? nil : (raise error) # not found end |
#to_s ⇒ Object
101 102 103 |
# File 'lib/tagcrumbs/resources/models/user.rb', line 101 def to_s self.username end |