Class: FocusNfe::Modelos::Inutilizacao
- Inherits:
-
Object
- Object
- FocusNfe::Modelos::Inutilizacao
- Defined in:
- lib/focus_nfe/modelos/inutilizacao.rb
Overview
Objeto de valor imutável que representa o resultado de uma inutilização de
numeração. Encapsula o corpo (Hash) da resposta — tanto da criação
(+POST+) quanto de cada item da consulta (+GET+) — expondo os campos comuns
e o predicado de status. Campos não mapeados continuam acessíveis via
#[]/#dados. Diferente de Documento, não carrega ref: a inutilização
é uma operação de coleção, sem referência por documento.
Instance Attribute Summary collapse
-
#dados ⇒ Hash
readonly
Corpo cru da resposta (ou do item).
-
#response ⇒ FocusNfe::HTTP::Response?
readonly
Resposta original;
nilpara itens de uma consulta.
Class Method Summary collapse
-
.from_item(item) ⇒ FocusNfe::Modelos::Inutilizacao
Constrói uma Inutilizacao a partir de um item cru de uma consulta.
-
.from_response(response) ⇒ FocusNfe::Modelos::Inutilizacao
Constrói uma Inutilizacao a partir de uma HTTP::Response de criação.
Instance Method Summary collapse
-
#[](chave) ⇒ Object?
Valor do campo cru.
- #autorizado? ⇒ Boolean
-
#initialize(dados:, response: nil) ⇒ Inutilizacao
constructor
A new instance of Inutilizacao.
-
#mensagem_sefaz ⇒ String?
Mensagem descritiva retornada pela SEFAZ.
-
#numero_final ⇒ String?
Número final da faixa inutilizada.
-
#numero_inicial ⇒ String?
Número inicial da faixa inutilizada.
-
#protocolo ⇒ String?
Protocolo de autorização da SEFAZ (campo
protocolo_sefaz). -
#serie ⇒ String?
Série da numeração inutilizada.
-
#status ⇒ String?
Status da inutilização na SEFAZ (ex.:
autorizado). -
#status_sefaz ⇒ String?
Código de status retornado pela SEFAZ.
Constructor Details
#initialize(dados:, response: nil) ⇒ Inutilizacao
Returns a new instance of Inutilizacao.
57 58 59 60 61 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 57 def initialize(dados:, response: nil) @dados = dados @response = response freeze end |
Instance Attribute Details
#dados ⇒ Hash (readonly)
Returns corpo cru da resposta (ou do item).
16 17 18 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 16 def dados @dados end |
#response ⇒ FocusNfe::HTTP::Response? (readonly)
Returns resposta original; nil para itens de uma consulta.
13 14 15 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 13 def response @response end |
Class Method Details
.from_item(item) ⇒ FocusNfe::Modelos::Inutilizacao
Constrói uma FocusNfe::Modelos::Inutilizacao a partir de um item cru de uma consulta.
51 52 53 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 51 def self.from_item(item) new(dados: item.is_a?(Hash) ? item : {}) end |
.from_response(response) ⇒ FocusNfe::Modelos::Inutilizacao
Constrói uma FocusNfe::Modelos::Inutilizacao a partir de uma HTTP::Response de criação.
43 44 45 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 43 def self.from_response(response) new(dados: response.body.is_a?(Hash) ? response.body : {}, response: response) end |
Instance Method Details
#[](chave) ⇒ Object?
Returns valor do campo cru.
65 66 67 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 65 def [](chave) dados[chave] end |
#autorizado? ⇒ Boolean
70 71 72 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 70 def autorizado? status == "autorizado" end |
#mensagem_sefaz ⇒ String?
Returns mensagem descritiva retornada pela SEFAZ.
25 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 25 def mensagem_sefaz = dados["mensagem_sefaz"] |
#numero_final ⇒ String?
Returns número final da faixa inutilizada.
37 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 37 def numero_final = dados["numero_final"] |
#numero_inicial ⇒ String?
Returns número inicial da faixa inutilizada.
34 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 34 def numero_inicial = dados["numero_inicial"] |
#protocolo ⇒ String?
Returns protocolo de autorização da SEFAZ (campo protocolo_sefaz).
28 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 28 def protocolo = dados["protocolo_sefaz"] |
#serie ⇒ String?
Returns série da numeração inutilizada.
31 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 31 def serie = dados["serie"] |
#status ⇒ String?
Returns status da inutilização na SEFAZ (ex.: autorizado).
19 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 19 def status = dados["status"] |
#status_sefaz ⇒ String?
Returns código de status retornado pela SEFAZ.
22 |
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 22 def status_sefaz = dados["status_sefaz"] |