Class: TwitterAPI::BaseClient
- Inherits:
-
Object
- Object
- TwitterAPI::BaseClient
- Defined in:
- lib/twitter_api.rb
Overview
A base client class.
Direct Known Subclasses
Instance Method Summary collapse
-
#get(resource_url, params) ⇒ TwitterAPI::Response
Calls a Twitter REST API using GET method.
-
#initialize(credentials) ⇒ TwitterAPI::BaseClient
constructor
Initializes a BaseClient object.
-
#post(resource_url, params, data = nil) ⇒ TwitterAPI::Response
Calls a Twitter REST API using POST method.
-
#post_multipart(resource_url, params, data = {}) ⇒ TwitterAPI::Response
Calls a Twitter REST API using POST (multipart/form-data) method.
Constructor Details
#initialize(credentials) ⇒ TwitterAPI::BaseClient
Initializes a BaseClient object.
19 20 21 |
# File 'lib/twitter_api.rb', line 19 def initialize(credentials) @credentials = credentials end |
Instance Method Details
#get(resource_url, params) ⇒ TwitterAPI::Response
Calls a Twitter REST API using GET method.
28 29 30 31 32 33 |
# File 'lib/twitter_api.rb', line 28 def get(resource_url, params) headers = {'Authorization' => ('GET', resource_url, params)} url = resource_url + '?' + URI.encode_www_form(params) res = open(url, headers) Response.new(res) end |
#post(resource_url, params, data = nil) ⇒ TwitterAPI::Response
Calls a Twitter REST API using POST method.
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/twitter_api.rb', line 41 def post(resource_url, params, data=nil) headers = {'Authorization' => ('POST', resource_url, params)} url = resource_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 |
#post_multipart(resource_url, params, data = {}) ⇒ TwitterAPI::Response
Calls a Twitter REST API using POST (multipart/form-data) method.
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/twitter_api.rb', line 58 def post_multipart(resource_url, params, data={}) headers = {'Authorization' => ('POST', resource_url, params)} url = resource_url + '?' + URI.encode_www_form(params) uri = URI.parse(url) form_data = [] data.each{|k,v| form_data << [k,v] } http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE req = Net::HTTP::Post.new(uri.request_uri, headers) req.set_form(form_data, 'multipart/form-data') res = http.start{|h| h.request(req) } Response.new(res) end |