class WebmaniabrNfeRuby::ApiInterface
Public Class Methods
new(action)
click to toggle source
# File lib/webmaniabr_nfe_ruby/api_interface.rb, line 6 def initialize(action) @uri = URI(base_uri + action) end
Public Instance Methods
process(options = {})
click to toggle source
# File lib/webmaniabr_nfe_ruby/api_interface.rb, line 10 def process(options = {}) authenticate = WebmaniabrNfeRuby.configuration.authenticate res = Net::HTTP.start(@uri.hostname, @uri.port, use_ssl: true) do |http| case options[:method] when 'GET' req = Net::HTTP::Get.new(@uri) when 'POST' req = Net::HTTP::Post.new(@uri) when 'PUT' req = Net::HTTP::Put.new(@uri) end req['X-Consumer-Key'] = authenticate.consumer_key req['X-Consumer-Secret'] = authenticate.consumer_secret req['X-Access-Token'] = authenticate.access_token req['X-Access-Token-Secret'] = authenticate.access_token_secret req['Content-Type'] = 'application/json' if options[:params] req.body = options[:params].to_json end http.request(req) end # converte o json para hash e converte as string keys para sym return JSON.parse(res.body).inject({}) { |memo, (k,v)| memo[k.to_sym] = v; memo } end
Private Instance Methods
base_uri()
click to toggle source
# File lib/webmaniabr_nfe_ruby/api_interface.rb, line 41 def base_uri 'https://webmaniabr.com/api/1/' end