Class: TwitterAPI::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/twitter_api.rb

Instance Method Summary collapse

Constructor Details

#initialize(credentials) ⇒ Client

Returns a new instance of Client.



12
13
14
# File 'lib/twitter_api.rb', line 12

def initialize(credentials)
  @credentials = credentials
end

Instance Method Details

#authorization(method, url, params) ⇒ Object



16
17
18
# File 'lib/twitter_api.rb', line 16

def authorization(method, url, params)
  SimpleOAuth::Header.new(method, url, params, @credentials).to_s
end

#get(base_url, params) ⇒ Object

Returns StringIO or Tempfile.

Returns:

  • StringIO or Tempfile



21
22
23
24
25
26
# File 'lib/twitter_api.rb', line 21

def get(base_url, params)
  headers = {'Authorization' => authorization('GET', base_url, params)}
  url = base_url + '?' + URI.encode_www_form(params)
  res = open(url, headers)
  Response.new(res)
end

#post(base_url, params, data = nil) ⇒ Object

Returns Net::HTTPResponse.

Returns:

  • Net::HTTPResponse



29
30
31
32
33
34
35
36
37
38
# File 'lib/twitter_api.rb', line 29

def post(base_url, params, data=nil)
  headers = {'Authorization' => authorization('POST', base_url, params)}
  url = base_url + '?' + URI.encode_www_form(params)
  uri = URI.parse(url)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  res = http.request_post(url, data, headers)
  Response.new(res)
end

#search_tweets(params) ⇒ Object

GET search/tweets — Twitter Developers dev.twitter.com/rest/reference/get/search/tweets



42
43
44
45
# File 'lib/twitter_api.rb', line 42

def search_tweets(params)
  base_url = 'https://api.twitter.com/1.1/search/tweets.json'
  get(base_url, params)
end

#statuses_update(params) ⇒ Object

POST statuses/update — Twitter Developers dev.twitter.com/rest/reference/post/statuses/update



56
57
58
59
# File 'lib/twitter_api.rb', line 56

def statuses_update(params)
  base_url = 'https://api.twitter.com/1.1/statuses/update.json'
  post(base_url, params)
end

#statuses_user_timeline(params) ⇒ Object

GET statuses/user_timeline — Twitter Developers dev.twitter.com/rest/reference/get/statuses/user_timeline



49
50
51
52
# File 'lib/twitter_api.rb', line 49

def statuses_user_timeline(params)
  base_url = 'https://api.twitter.com/1.1/statuses/user_timeline.json'
  get(base_url, params)
end