Module: Sociable::Friends::Facebook

Defined in:
lib/sociable/contacts/twitter/friends.rb

Instance Method Summary collapse

Instance Method Details

#connectionObject



33
34
35
# File 'lib/sociable/contacts/twitter/friends.rb', line 33

def connection
     @connection ||= Faraday.new(@endpoint)
end

#get(path) ⇒ Object



19
20
21
# File 'lib/sociable/contacts/twitter/friends.rb', line 19

def get(path)
  request(:get, path)
end

#load_friends(twitter_handle) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/sociable/contacts/twitter/friends.rb', line 8

def load_friends(twitter_handle)
  ids_response = get("1/friends/ids.json?cursor=-1&screen_name=#{twitter_handle}")
  ids=JSON.parse(ids_response[:body])['ids']
  rv=[]
  ids.flatten.each_slice(100) do |ids|
    users_response=get("1/friends/ids.json?cursor=-1&screen_name=#{twitter_handle}")
    rv += JSON.parse(users_response[:body])
  end
  rv
end

#request(method, path) ⇒ Object

Perform an HTTP request



25
26
27
28
29
30
31
# File 'lib/sociable/contacts/twitter/friends.rb', line 25

def request(method, path)
  uri = 'http://api.twitter.com/'+path
  connection.url_prefix = options[:endpoint] || @endpoint
  connection.run_request(:get, path, nil, nil)
rescue Faraday::Error::ClientError
  raise Sociable::Error::ClientError
end