Class: SocialCount::FacebookUser
- Inherits:
-
ApiBase
- Object
- ApiBase
- SocialCount::FacebookUser
show all
- Defined in:
- lib/social_count/facebook_user.rb
Constant Summary
collapse
- DOMAIN =
"https://graph.facebook.com"
Instance Attribute Summary
Attributes inherited from ApiBase
#name
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from ApiBase
get_http_response, #initialize
Class Method Details
.access_token ⇒ Object
43
44
45
46
47
48
49
50
51
|
# File 'lib/social_count/facebook_user.rb', line 43
def access_token
return @access_token unless @access_token.nil?
response = get_http_response(access_url)
unless response.is_a?(Net::HTTPOK)
response = JSON.parse(response.body)
raise SocialCount::FacebookApiError.new("Facebook API returned the following error: #{response["error"]["message"]}", response["error"]["code"])
end
@access_token = response.body.split("access_token=")[1]
end
|
Instance Method Details
#follower_count ⇒ Object
22
23
24
25
|
# File 'lib/social_count/facebook_user.rb', line 22
def follower_count
count = run_query(:subscriber)
count.to_i.zero? ? nil : count
end
|
#friend_count ⇒ Object
19
20
21
|
# File 'lib/social_count/facebook_user.rb', line 19
def friend_count
run_query(:friend)
end
|
#id ⇒ Object
15
16
17
18
|
# File 'lib/social_count/facebook_user.rb', line 15
def id
return unless valid?
@id ||= user.identifier.to_i
end
|
#user ⇒ Object
11
12
13
14
|
# File 'lib/social_count/facebook_user.rb', line 11
def user
return unless valid?
@user ||= FbGraph::User.fetch(name, :access_token => URI.escape(self.class.access_token))
end
|
#valid? ⇒ Boolean
7
8
9
10
|
# File 'lib/social_count/facebook_user.rb', line 7
def valid?
return @valid unless @valid.nil?
@valid = self.class.get_http_response("#{DOMAIN}/#{name}").is_a?(Net::HTTPOK)
end
|