module Sigiss::Integration

Public Instance Methods

cancel!() click to toggle source
# File lib/sigiss/integration.rb, line 13
def cancel!
  send(:cancelar_nota, data_cancel)
end
data_cancel() click to toggle source
# File lib/sigiss/integration.rb, line 25
def data_cancel
  { DadosCancelaNota: provider.to_cancel.merge(data.to_hash) }
end
data_fetch() click to toggle source
# File lib/sigiss/integration.rb, line 21
def data_fetch
  { DadosConsultaNota: provider.to_fetch.merge(data.to_hash) }
end
data_issue() click to toggle source
# File lib/sigiss/integration.rb, line 17
def data_issue
  { DescricaoRps: provider.to_hash.merge(taker.to_hash).merge(data.to_hash) }
end
fetch!() click to toggle source
# File lib/sigiss/integration.rb, line 9
def fetch!
  send(:consultar_nota_valida, data_fetch)
end
issue!() click to toggle source
# File lib/sigiss/integration.rb, line 5
def issue!
  send(:gerar_nota, data_issue)
end

Protected Instance Methods

execute() { || ... } click to toggle source
# File lib/sigiss/integration.rb, line 39
def execute(&block)
  yield
rescue Timeout::Error => e
  @success, @response = false, { error: e.message }
rescue Savon::SOAPFault => e
  @success, @response = false, { error: e.message }
rescue Exception => e
  @success, @response = false, { error: e.message }
end
send(action, data) click to toggle source
# File lib/sigiss/integration.rb, line 31
def send(action, data)
  execute do
    client = Savon.client(wsdl: gateway.url, convert_request_keys_to: :none, log: false)
    response = client.call(action, message: data)
    @success, @response = true, response.body
  end
end