Class: FocusNfe::Modelos::Inutilizacao

Inherits:
Object
  • Object
show all
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

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dados:, response: nil) ⇒ Inutilizacao

Returns a new instance of Inutilizacao.

Parameters:

  • dados (Hash)

    corpo cru da resposta (ou do item)

  • response (FocusNfe::HTTP::Response, nil) (defaults to: nil)

    resposta original, quando houver



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

#dadosHash (readonly)

Returns corpo cru da resposta (ou do item).

Returns:

  • (Hash)

    corpo cru da resposta (ou do item)



16
17
18
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 16

def dados
  @dados
end

#responseFocusNfe::HTTP::Response? (readonly)

Returns resposta original; nil para itens de uma consulta.

Returns:



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.

Parameters:

  • item (Hash)

    item da resposta de consulta

Returns:



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.

Parameters:

Returns:



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.

Parameters:

  • chave (String)

    nome do campo no corpo da resposta

Returns:

  • (Object, nil)

    valor do campo cru



65
66
67
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 65

def [](chave)
  dados[chave]
end

#autorizado?Boolean

Returns:

  • (Boolean)


70
71
72
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 70

def autorizado?
  status == "autorizado"
end

#mensagem_sefazString?

Returns mensagem descritiva retornada pela SEFAZ.

Returns:

  • (String, nil)

    mensagem descritiva retornada pela SEFAZ



25
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 25

def mensagem_sefaz = dados["mensagem_sefaz"]

#numero_finalString?

Returns número final da faixa inutilizada.

Returns:

  • (String, nil)

    número final da faixa inutilizada



37
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 37

def numero_final = dados["numero_final"]

#numero_inicialString?

Returns número inicial da faixa inutilizada.

Returns:

  • (String, nil)

    número inicial da faixa inutilizada



34
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 34

def numero_inicial = dados["numero_inicial"]

#protocoloString?

Returns protocolo de autorização da SEFAZ (campo protocolo_sefaz).

Returns:

  • (String, nil)

    protocolo de autorização da SEFAZ (campo protocolo_sefaz)



28
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 28

def protocolo = dados["protocolo_sefaz"]

#serieString?

Returns série da numeração inutilizada.

Returns:

  • (String, nil)

    série da numeração inutilizada



31
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 31

def serie = dados["serie"]

#statusString?

Returns status da inutilização na SEFAZ (ex.: autorizado).

Returns:

  • (String, nil)

    status da inutilização na SEFAZ (ex.: autorizado)



19
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 19

def status = dados["status"]

#status_sefazString?

Returns código de status retornado pela SEFAZ.

Returns:

  • (String, nil)

    código de status retornado pela SEFAZ



22
# File 'lib/focus_nfe/modelos/inutilizacao.rb', line 22

def status_sefaz = dados["status_sefaz"]