Class: Receitaws::Base

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

Direct Known Subclasses

ConsultarCnpj

Class Method Summary collapse

Class Method Details

.build_request(endpoint, metodo, body = nil) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/receitaws/base.rb', line 8

def self.build_request endpoint, metodo, body=nil

  url = URI("#{Receitaws.base_uri}/#{endpoint}")

  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true

  case metodo
  when "delete"
    request = Net::HTTP::Delete.new(url)
  when "get"
    request = Net::HTTP::Get.new(url)
  when "put"
    request = Net::HTTP::Put.new(url)
  when "post"
    request = Net::HTTP::Post.new(url)
  end
  request = Receitaws::Base.default_headers request

  request.body = body.to_json unless body.nil?

  begin
    status = Timeout::timeout(Receitaws.timeout.to_i) {
      return http.request(request)
    }
  rescue Timeout::Error
    puts 'That took too long, exiting...'
    return nil
  end
end

.default_headers(request) ⇒ Object



39
40
41
42
43
# File 'lib/receitaws/base.rb', line 39

def self.default_headers request
  request["authorization"] = "Bearer #{Receitaws.token}"
  request["Content-Type"] = "application/json"
  return request
end