class TwitterAPI::BaseClient
A base client class.
Public Class Methods
new(credentials)
click to toggle source
Initializes a BaseClient
object.
@param credentials [Hash] Credentials @return [TwitterAPI::BaseClient]
# File lib/twitter_api.rb, line 19 def initialize(credentials) @credentials = credentials end
Public Instance Methods
get(resource_url, params)
click to toggle source
Calls a Twitter REST API using GET method.
@param resource_url [String] Resource URL @param params [Hash] Parameters @return [TwitterAPI::Response]
# File lib/twitter_api.rb, line 28 def get(resource_url, params) headers = {'Authorization' => authorization('GET', resource_url, params)} url = resource_url + '?' + URI.encode_www_form(params) res = URI.open(url, headers) Response.new(res) end
post(resource_url, params, data=nil)
click to toggle source
Calls a Twitter REST API using POST method.
@param resource_url [String] Resource URL @param params [Hash] Parameters @param data [String] Posts data @return [TwitterAPI::Response]
# File lib/twitter_api.rb, line 41 def post(resource_url, params, data=nil) headers = {'Authorization' => 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={})
click to toggle source
Calls a Twitter REST API using POST (multipart/form-data) method.
@param resource_url [String] Resource URL @param params [Hash] Parameters @param data [Array] Posts Multipart data @return [TwitterAPI::Response]
# File lib/twitter_api.rb, line 58 def post_multipart(resource_url, params, data={}) headers = {'Authorization' => 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