Class: FocusNfe::Client
- Inherits:
-
Object
- Object
- FocusNfe::Client
- Defined in:
- lib/focus_nfe/client.rb
Overview
Raiz de acesso à API. Cada cliente carrega sua própria Configuration e mantém duas HTTP::Connection memoizadas, uma por token: a de empresa (emissão/consulta de documentos) e a de conta (consultas auxiliares e gestão de empresas). Permite coexistência de várias empresas no mesmo processo sem estado compartilhado. Expõe os recursos da API instanciados preguiçosamente.
Instance Attribute Summary collapse
-
#configuration ⇒ FocusNfe::Configuration
readonly
Configuração validada deste cliente.
Instance Method Summary collapse
-
#backups ⇒ FocusNfe::Recursos::Backups
Recurso de backups de XML, memoizado.
-
#ceps ⇒ FocusNfe::Recursos::Ceps
Recurso de consulta de CEP, memoizado.
-
#cfops ⇒ FocusNfe::Recursos::Cfops
Recurso de consulta de CFOP, memoizado.
-
#cnaes ⇒ FocusNfe::Recursos::Cnaes
Recurso de consulta de CNAE, memoizado.
-
#cnpjs ⇒ FocusNfe::Recursos::Cnpjs
Recurso de consulta de CNPJ, memoizado.
-
#connection ⇒ FocusNfe::HTTP::Connection
Conexão da empresa, memoizada.
-
#connection_conta ⇒ FocusNfe::HTTP::Connection
Conexão da conta, memoizada.
-
#cte ⇒ FocusNfe::Recursos::Cte
Recurso de CT-e, memoizado.
-
#cte_os ⇒ FocusNfe::Recursos::CteOs
Recurso de CT-e OS, memoizado.
-
#ctes_recebidas ⇒ FocusNfe::Recursos::CtesRecebidas
Recurso de CT-e recebidos, memoizado.
-
#dce ⇒ FocusNfe::Recursos::Dce
Recurso de DC-e, memoizado.
-
#emails_bloqueados ⇒ FocusNfe::Recursos::EmailsBloqueados
Recurso de e-mails bloqueados, memoizado.
-
#empresas ⇒ FocusNfe::Recursos::Empresas
Recurso de gestão de empresas, memoizado.
-
#initialize(configuration = nil) ⇒ Client
constructor
A new instance of Client.
-
#mdfe ⇒ FocusNfe::Recursos::Mdfe
Recurso de MDF-e, memoizado.
-
#municipios ⇒ FocusNfe::Recursos::Municipios
Recurso de consulta de municípios, memoizado.
-
#ncms ⇒ FocusNfe::Recursos::Ncms
Recurso de consulta de NCM, memoizado.
-
#nfce ⇒ FocusNfe::Recursos::Nfce
Recurso de NFC-e, memoizado.
-
#nfcom ⇒ FocusNfe::Recursos::Nfcom
Recurso de NFCom, memoizado.
-
#nfe ⇒ FocusNfe::Recursos::Nfe
Recurso de NF-e, memoizado.
-
#nfes_recebidas ⇒ FocusNfe::Recursos::NfesRecebidas
Recurso de NF-e recebidas, memoizado.
-
#nfgas ⇒ FocusNfe::Recursos::Nfgas
Recurso de NFGas, memoizado.
-
#nfse ⇒ FocusNfe::Recursos::Nfse
Recurso de NFS-e, memoizado.
-
#nfse_nacional ⇒ FocusNfe::Recursos::NfseNacional
Recurso de NFS-e nacional, memoizado.
-
#nfses_nacionais_recebidas ⇒ FocusNfe::Recursos::NfsesNacionaisRecebidas
Recurso de NFS-e nacionais recebidas, memoizado.
-
#webhooks ⇒ FocusNfe::Recursos::Webhooks
Recurso de gestão de webhooks, memoizado.
Constructor Details
#initialize(configuration) ⇒ Client #initialize(token_empresa:, token_conta:, environment:, **options) ⇒ Client
Returns a new instance of Client.
21 22 23 |
# File 'lib/focus_nfe/client.rb', line 21 def initialize(configuration = nil, **) @configuration = (configuration || Configuration.new(**)).tap(&:validate!) end |
Instance Attribute Details
#configuration ⇒ FocusNfe::Configuration (readonly)
Returns configuração validada deste cliente.
11 12 13 |
# File 'lib/focus_nfe/client.rb', line 11 def configuration @configuration end |
Instance Method Details
#backups ⇒ FocusNfe::Recursos::Backups
Returns recurso de backups de XML, memoizado.
148 149 150 |
# File 'lib/focus_nfe/client.rb', line 148 def backups @backups ||= Recursos::Backups.new(connection) end |
#ceps ⇒ FocusNfe::Recursos::Ceps
Returns recurso de consulta de CEP, memoizado.
103 104 105 |
# File 'lib/focus_nfe/client.rb', line 103 def ceps @ceps ||= Recursos::Ceps.new(connection_conta) end |
#cfops ⇒ FocusNfe::Recursos::Cfops
Returns recurso de consulta de CFOP, memoizado.
113 114 115 |
# File 'lib/focus_nfe/client.rb', line 113 def cfops @cfops ||= Recursos::Cfops.new(connection_conta) end |
#cnaes ⇒ FocusNfe::Recursos::Cnaes
Returns recurso de consulta de CNAE, memoizado.
118 119 120 |
# File 'lib/focus_nfe/client.rb', line 118 def cnaes @cnaes ||= Recursos::Cnaes.new(connection_conta) end |
#cnpjs ⇒ FocusNfe::Recursos::Cnpjs
Returns recurso de consulta de CNPJ, memoizado.
128 129 130 |
# File 'lib/focus_nfe/client.rb', line 128 def cnpjs @cnpjs ||= Recursos::Cnpjs.new(connection_conta) end |
#connection ⇒ FocusNfe::HTTP::Connection
Returns conexão da empresa, memoizada.
27 28 29 |
# File 'lib/focus_nfe/client.rb', line 27 def connection @connection ||= build_connection(:empresa) end |
#connection_conta ⇒ FocusNfe::HTTP::Connection
Returns conexão da conta, memoizada.
33 34 35 |
# File 'lib/focus_nfe/client.rb', line 33 def connection_conta @connection_conta ||= build_connection(:conta) end |
#cte ⇒ FocusNfe::Recursos::Cte
Returns recurso de CT-e, memoizado.
58 59 60 |
# File 'lib/focus_nfe/client.rb', line 58 def cte @cte ||= Recursos::Cte.new(connection) end |
#cte_os ⇒ FocusNfe::Recursos::CteOs
Returns recurso de CT-e OS, memoizado.
63 64 65 |
# File 'lib/focus_nfe/client.rb', line 63 def cte_os @cte_os ||= Recursos::CteOs.new(connection) end |
#ctes_recebidas ⇒ FocusNfe::Recursos::CtesRecebidas
Returns recurso de CT-e recebidos, memoizado.
93 94 95 |
# File 'lib/focus_nfe/client.rb', line 93 def ctes_recebidas @ctes_recebidas ||= Recursos::CtesRecebidas.new(connection) end |
#dce ⇒ FocusNfe::Recursos::Dce
Returns recurso de DC-e, memoizado.
78 79 80 |
# File 'lib/focus_nfe/client.rb', line 78 def dce @dce ||= Recursos::Dce.new(connection) end |
#emails_bloqueados ⇒ FocusNfe::Recursos::EmailsBloqueados
Returns recurso de e-mails bloqueados, memoizado.
143 144 145 |
# File 'lib/focus_nfe/client.rb', line 143 def emails_bloqueados @emails_bloqueados ||= Recursos::EmailsBloqueados.new(connection) end |
#empresas ⇒ FocusNfe::Recursos::Empresas
Returns recurso de gestão de empresas, memoizado.
133 134 135 |
# File 'lib/focus_nfe/client.rb', line 133 def empresas @empresas ||= Recursos::Empresas.new(connection_conta) end |
#mdfe ⇒ FocusNfe::Recursos::Mdfe
Returns recurso de MDF-e, memoizado.
68 69 70 |
# File 'lib/focus_nfe/client.rb', line 68 def mdfe @mdfe ||= Recursos::Mdfe.new(connection) end |
#municipios ⇒ FocusNfe::Recursos::Municipios
Returns recurso de consulta de municípios, memoizado.
108 109 110 |
# File 'lib/focus_nfe/client.rb', line 108 def municipios @municipios ||= Recursos::Municipios.new(connection_conta) end |
#ncms ⇒ FocusNfe::Recursos::Ncms
Returns recurso de consulta de NCM, memoizado.
123 124 125 |
# File 'lib/focus_nfe/client.rb', line 123 def ncms @ncms ||= Recursos::Ncms.new(connection_conta) end |
#nfce ⇒ FocusNfe::Recursos::Nfce
Returns recurso de NFC-e, memoizado.
43 44 45 |
# File 'lib/focus_nfe/client.rb', line 43 def nfce @nfce ||= Recursos::Nfce.new(connection) end |
#nfcom ⇒ FocusNfe::Recursos::Nfcom
Returns recurso de NFCom, memoizado.
73 74 75 |
# File 'lib/focus_nfe/client.rb', line 73 def nfcom @nfcom ||= Recursos::Nfcom.new(connection) end |
#nfe ⇒ FocusNfe::Recursos::Nfe
Returns recurso de NF-e, memoizado.
38 39 40 |
# File 'lib/focus_nfe/client.rb', line 38 def nfe @nfe ||= Recursos::Nfe.new(connection) end |
#nfes_recebidas ⇒ FocusNfe::Recursos::NfesRecebidas
Returns recurso de NF-e recebidas, memoizado.
88 89 90 |
# File 'lib/focus_nfe/client.rb', line 88 def nfes_recebidas @nfes_recebidas ||= Recursos::NfesRecebidas.new(connection) end |
#nfgas ⇒ FocusNfe::Recursos::Nfgas
Returns recurso de NFGas, memoizado.
83 84 85 |
# File 'lib/focus_nfe/client.rb', line 83 def nfgas @nfgas ||= Recursos::Nfgas.new(connection) end |
#nfse ⇒ FocusNfe::Recursos::Nfse
Returns recurso de NFS-e, memoizado.
48 49 50 |
# File 'lib/focus_nfe/client.rb', line 48 def nfse @nfse ||= Recursos::Nfse.new(connection) end |
#nfse_nacional ⇒ FocusNfe::Recursos::NfseNacional
Returns recurso de NFS-e nacional, memoizado.
53 54 55 |
# File 'lib/focus_nfe/client.rb', line 53 def nfse_nacional @nfse_nacional ||= Recursos::NfseNacional.new(connection) end |
#nfses_nacionais_recebidas ⇒ FocusNfe::Recursos::NfsesNacionaisRecebidas
Returns recurso de NFS-e nacionais recebidas, memoizado.
98 99 100 |
# File 'lib/focus_nfe/client.rb', line 98 def nfses_nacionais_recebidas @nfses_nacionais_recebidas ||= Recursos::NfsesNacionaisRecebidas.new(connection) end |
#webhooks ⇒ FocusNfe::Recursos::Webhooks
Returns recurso de gestão de webhooks, memoizado.
138 139 140 |
# File 'lib/focus_nfe/client.rb', line 138 def webhooks @webhooks ||= Recursos::Webhooks.new(connection) end |