Class: ApiBrasil::Services::DeviceProxyService

Inherits:
BaseService
  • Object
show all
Defined in:
lib/api_brasil/services/device_proxy_service.rb

Overview

Base dos servicos "device-based" do gateway (/api/v2/{servico}/{action}). Exigem Authorization: Bearer + header DeviceToken.

Todos expoem request(action, body) como porta de saida generica - as actions sao dinamicas por provedor, consulte a documentacao em https://doc.apibrasil.io

A resposta segue o envelope device-based ({"error" => ..., "message" => ..., "response" => ...}).

Instance Attribute Summary collapse

Attributes inherited from BaseService

#http

Instance Method Summary collapse

Methods inherited from BaseService

#delete, #download, #get, #patch, #post, #put

Constructor Details

#initialize(http, service) ⇒ DeviceProxyService

Returns a new instance of DeviceProxyService.

Parameters:



22
23
24
25
# File 'lib/api_brasil/services/device_proxy_service.rb', line 22

def initialize(http, service)
  super(http)
  @service = service
end

Instance Attribute Details

#serviceString (readonly)

Returns nome do servico no gateway (primeiro segmento da rota).

Returns:

  • (String)

    nome do servico no gateway (primeiro segmento da rota)



18
19
20
# File 'lib/api_brasil/services/device_proxy_service.rb', line 18

def service
  @service
end

Instance Method Details

#queue(action, body = nil, options = {}) ⇒ Object

Executa a mesma action de forma assincrona via fila: POST /{servico}/{action}/queue.

Returns:

  • (Object)


41
42
43
# File 'lib/api_brasil/services/device_proxy_service.rb', line 41

def queue(action, body = nil, options = {})
  post("/#{service}/#{action.to_s.gsub(%r{\A/+|/+\z}, "")}/queue", body, options)
end

#request(action, body = nil, options = {}) ⇒ Object

Executa uma action do servico: POST /{servico}/{action}.

Parameters:

  • action (String)
  • body (Hash, nil) (defaults to: nil)
  • options (Hash) (defaults to: {})

Returns:

  • (Object)


33
34
35
# File 'lib/api_brasil/services/device_proxy_service.rb', line 33

def request(action, body = nil, options = {})
  post("/#{service}/#{action.to_s.gsub(%r{\A/+|/+\z}, "")}", body, options)
end