Class: Conekta::Requestor
- Inherits:
-
Object
- Object
- Conekta::Requestor
- Includes:
- Sys
- Defined in:
- lib/conekta/requestor.rb
Instance Attribute Summary collapse
-
#api_key ⇒ Object
readonly
Returns the value of attribute api_key.
Instance Method Summary collapse
- #api_url(url = '') ⇒ Object
-
#initialize ⇒ Requestor
constructor
A new instance of Requestor.
- #request(meth, url, params = nil) ⇒ Object
Constructor Details
Instance Attribute Details
#api_key ⇒ Object (readonly)
Returns the value of attribute api_key.
7 8 9 |
# File 'lib/conekta/requestor.rb', line 7 def api_key @api_key end |
Instance Method Details
#api_url(url = '') ⇒ Object
11 12 13 14 |
# File 'lib/conekta/requestor.rb', line 11 def api_url(url='') api_base = Conekta.api_base api_base + url end |
#request(meth, url, params = nil) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/conekta/requestor.rb', line 15 def request(meth, url, params=nil) url = self.api_url(url) meth = meth.downcase begin conn = Faraday.new( :url => url, :ssl => { :ca_file=> File.dirname(__FILE__) + '/../ssl_data/ca_bundle.crt'} ) do |faraday| faraday.adapter Faraday.default_adapter end conn.headers['X-Conekta-Client-User-Agent'] = set_headers.to_json conn.headers['User-Agent'] = 'Conekta/v1 RubyBindings/' + Conekta::VERSION conn.headers['Accept'] = "application/vnd.conekta-v#{Conekta.api_version}+json" conn.headers['Accept-Language'] = Conekta.locale conn.headers['Authorization'] = "Basic #{ Base64.encode64("#{self.api_key}" + ':')}" if params conn.params = params end response = conn.method(meth).call rescue Exception => e Error.error_handler(e, "") end if response.status != 200 Error.error_handler(JSON.parse(response.body), response.status) end return JSON.parse(response.body) end |