Class: FocusNfe::Modelos::Documento
- Inherits:
-
Object
- Object
- FocusNfe::Modelos::Documento
- Defined in:
- lib/focus_nfe/modelos/documento.rb
Overview
Instance Attribute Summary collapse
-
#dados ⇒ Hash
readonly
Corpo cru da resposta.
-
#ref ⇒ String?
readonly
Referência informada na chamada (nem sempre presente no corpo).
-
#response ⇒ FocusNfe::HTTP::Response?
readonly
Resposta original que originou o documento (nil em webhooks inbound).
Class Method Summary collapse
-
.from_payload(corpo, ref: nil) ⇒ FocusNfe::Modelos::Documento
Constrói um Documento a partir do corpo já parseado de um webhook inbound — sem HTTP::Response associada.
-
.from_response(response, ref: nil) ⇒ FocusNfe::Modelos::Documento
Constrói um Documento a partir de uma HTTP::Response.
Instance Method Summary collapse
-
#[](chave) ⇒ Object?
Valor do campo cru.
- #autorizado? ⇒ Boolean
-
#caminho_danfe ⇒ String?
Caminho relativo do PDF (DANFe/DACTe/DANFSe) na Focus NFe.
-
#caminho_pdf_carta_correcao ⇒ String?
Caminho relativo do PDF da carta de correção na Focus NFe.
-
#caminho_xml_carta_correcao ⇒ String?
Caminho relativo do XML da carta de correção na Focus NFe.
-
#caminho_xml_nota_fiscal ⇒ String?
Caminho relativo do XML da nota na Focus NFe.
- #cancelado? ⇒ Boolean
-
#chave_nfe ⇒ String?
Chave de acesso do documento autorizado.
- #denegado? ⇒ Boolean
- #erro? ⇒ Boolean
-
#initialize(dados:, ref: nil, response: nil) ⇒ Documento
constructor
A new instance of Documento.
-
#mensagem_sefaz ⇒ String?
Mensagem descritiva retornada pela SEFAZ.
-
#numero ⇒ String?
Número do documento fiscal.
-
#numero_carta_correcao ⇒ String?
Número sequencial da carta de correção emitida.
- #processando? ⇒ Boolean
-
#serie ⇒ String?
Série do documento fiscal.
-
#status ⇒ String?
Status do documento na Focus NFe (ex.:
autorizado). -
#status_sefaz ⇒ String?
Código de status retornado pela SEFAZ.
Constructor Details
#initialize(dados:, ref: nil, response: nil) ⇒ Documento
Returns a new instance of Documento.
74 75 76 77 78 79 |
# File 'lib/focus_nfe/modelos/documento.rb', line 74 def initialize(dados:, ref: nil, response: nil) @response = response @dados = dados.is_a?(Hash) ? dados : {} @ref = ref || @dados["ref"] freeze end |
Instance Attribute Details
#dados ⇒ Hash (readonly)
Returns corpo cru da resposta.
17 18 19 |
# File 'lib/focus_nfe/modelos/documento.rb', line 17 def dados @dados end |
#ref ⇒ String? (readonly)
Returns referência informada na chamada (nem sempre presente no corpo).
14 15 16 |
# File 'lib/focus_nfe/modelos/documento.rb', line 14 def ref @ref end |
#response ⇒ FocusNfe::HTTP::Response? (readonly)
Returns resposta original que originou o documento (nil em webhooks inbound).
11 12 13 |
# File 'lib/focus_nfe/modelos/documento.rb', line 11 def response @response end |
Class Method Details
.from_payload(corpo, ref: nil) ⇒ FocusNfe::Modelos::Documento
Constrói um FocusNfe::Modelos::Documento a partir do corpo já parseado de um webhook inbound — sem HTTP::Response associada.
67 68 69 |
# File 'lib/focus_nfe/modelos/documento.rb', line 67 def self.from_payload(corpo, ref: nil) new(dados: corpo, ref: ref) end |
.from_response(response, ref: nil) ⇒ FocusNfe::Modelos::Documento
Constrói um FocusNfe::Modelos::Documento a partir de uma HTTP::Response.
57 58 59 |
# File 'lib/focus_nfe/modelos/documento.rb', line 57 def self.from_response(response, ref: nil) new(dados: response.body, ref: ref, response: response) end |
Instance Method Details
#[](chave) ⇒ Object?
Returns valor do campo cru.
83 84 85 |
# File 'lib/focus_nfe/modelos/documento.rb', line 83 def [](chave) dados[chave] end |
#autorizado? ⇒ Boolean
88 89 90 |
# File 'lib/focus_nfe/modelos/documento.rb', line 88 def autorizado? status == "autorizado" end |
#caminho_danfe ⇒ String?
Returns caminho relativo do PDF (DANFe/DACTe/DANFSe) na Focus NFe.
41 |
# File 'lib/focus_nfe/modelos/documento.rb', line 41 def caminho_danfe = dados["caminho_danfe"] |
#caminho_pdf_carta_correcao ⇒ String?
Returns caminho relativo do PDF da carta de correção na Focus NFe.
47 |
# File 'lib/focus_nfe/modelos/documento.rb', line 47 def caminho_pdf_carta_correcao = dados["caminho_pdf_carta_correcao"] |
#caminho_xml_carta_correcao ⇒ String?
Returns caminho relativo do XML da carta de correção na Focus NFe.
44 |
# File 'lib/focus_nfe/modelos/documento.rb', line 44 def caminho_xml_carta_correcao = dados["caminho_xml_carta_correcao"] |
#caminho_xml_nota_fiscal ⇒ String?
Returns caminho relativo do XML da nota na Focus NFe.
38 |
# File 'lib/focus_nfe/modelos/documento.rb', line 38 def caminho_xml_nota_fiscal = dados["caminho_xml_nota_fiscal"] |
#cancelado? ⇒ Boolean
93 94 95 |
# File 'lib/focus_nfe/modelos/documento.rb', line 93 def cancelado? status == "cancelado" end |
#chave_nfe ⇒ String?
Returns chave de acesso do documento autorizado.
29 |
# File 'lib/focus_nfe/modelos/documento.rb', line 29 def chave_nfe = dados["chave_nfe"] |
#denegado? ⇒ Boolean
108 109 110 |
# File 'lib/focus_nfe/modelos/documento.rb', line 108 def denegado? status == "denegado" end |
#erro? ⇒ Boolean
103 104 105 |
# File 'lib/focus_nfe/modelos/documento.rb', line 103 def erro? status.to_s.start_with?("erro") end |
#mensagem_sefaz ⇒ String?
Returns mensagem descritiva retornada pela SEFAZ.
26 |
# File 'lib/focus_nfe/modelos/documento.rb', line 26 def mensagem_sefaz = dados["mensagem_sefaz"] |
#numero ⇒ String?
Returns número do documento fiscal.
32 |
# File 'lib/focus_nfe/modelos/documento.rb', line 32 def numero = dados["numero"] |
#numero_carta_correcao ⇒ String?
Returns número sequencial da carta de correção emitida.
50 |
# File 'lib/focus_nfe/modelos/documento.rb', line 50 def numero_carta_correcao = dados["numero_carta_correcao"] |
#processando? ⇒ Boolean
98 99 100 |
# File 'lib/focus_nfe/modelos/documento.rb', line 98 def processando? status == "processando_autorizacao" end |
#serie ⇒ String?
Returns série do documento fiscal.
35 |
# File 'lib/focus_nfe/modelos/documento.rb', line 35 def serie = dados["serie"] |
#status ⇒ String?
Returns status do documento na Focus NFe (ex.: autorizado).
20 |
# File 'lib/focus_nfe/modelos/documento.rb', line 20 def status = dados["status"] |
#status_sefaz ⇒ String?
Returns código de status retornado pela SEFAZ.
23 |
# File 'lib/focus_nfe/modelos/documento.rb', line 23 def status_sefaz = dados["status_sefaz"] |