Class: SocialCount::FacebookUser

Inherits:
ApiBase
  • Object
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

Constructor Details

This class inherits a constructor from SocialCount::ApiBase

Class Method Details

.access_tokenObject



38
39
40
# File 'lib/social_count/facebook_user.rb', line 38

def access_token
  @access_token ||= get_http_response(access_url).body.split("access_token=")[1]
end

Instance Method Details

#follower_countObject



22
23
24
25
# File 'lib/social_count/facebook_user.rb', line 22

def follower_count
  count = run_query(:subscriber)
  count.zero? ? nil : count
end

#friend_countObject



19
20
21
# File 'lib/social_count/facebook_user.rb', line 19

def friend_count
  run_query(:friend)
end

#idObject



15
16
17
18
# File 'lib/social_count/facebook_user.rb', line 15

def id
  return unless valid?
  @id ||= user.identifier.to_i
end

#userObject



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

Returns:

  • (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