nfcom 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f32a81ac2b024665327e6649dd7ce8003210074349a587ac94e59da097292304
4
- data.tar.gz: 382c3ef2e2932b82bff36c7523e7612408ef728839f003944cd7e291ea944ffa
3
+ metadata.gz: e5ba6cbf3d3cf123a5b224bbe3ede904fe7c0fbdb1dc583c9ee18e13debad1e3
4
+ data.tar.gz: 07dedf815c13f897335b8e204c8f7865205aba5fc8b21c62c3f53b1e89d735b8
5
5
  SHA512:
6
- metadata.gz: cbab82c83610bcd0bf2cd28dade2fb53cacce091120eb2c6d7c9ac38908d6969fa7f2ebbe4a02a11eebc87936ab98e9b41cd584d33351c9f97332e0ddee5b48d
7
- data.tar.gz: 139211d3998a511a8a32e6ee49d688846b1ff79bd2cdfe0b103fbfc83e7beae9aac94633c51c23cc80508db4c31db45ea8b8e2491f00f9cc83bfbc337c7b9c95
6
+ metadata.gz: 821540739552a847582bfa13d8fb8909556c699cc196039d2befd26f7d6d58dcdce8a82396b1efddfe75ac7d948b0e14c4a3e61e343d1a829f4938fa26194307
7
+ data.tar.gz: b5c27d50c63ad1ec72e51c357e3b33e7dfbcce595ad046dcc526ea02147cbb6dff298d21b6ee420921e092299c5e1a2fbd4c91a9959397176c35ad8756214abf
data/CHANGELOG.md CHANGED
@@ -64,3 +64,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
64
64
  - Geração do grupo `gSub` no XML (`chNFCom` + `motSub`) conforme schema NFCom v1.00
65
65
  - Validação de presença e formato da chave substituída (44 dígitos) e do motivo (D26)
66
66
  - Todos os 5 motivos de substituição suportados: erro de preço, erro cadastral, decisão judicial, erro de tributação e descontinuidade do serviço
67
+
68
+ ## [0.1.3] - 2026-05-18
69
+
70
+ ### Changed
71
+ - Refatoração do parser de respostas: `ResponseParser` substituído por hierarquia `Base` + subclasses `Autorizacao`, `Status`, `Consulta`, `Inutilizacao`, cada uma com método `#parse`
72
+ - `client.rb` atualizado para usar as novas classes de parser
73
+ - Correção do `SOAPAction` em `webservices/status.rb` (`nfcomStatusServicoNF`)
74
+ - Correção do `montar_envelope` em `webservices/base.rb`: prefixo `soap:` (era `soap12:`), body envolvido com `nfcomDadosMsg`, processado via `XmlCleaner`
75
+ - Correção de `consulta.rb`: wrapper `nfcomDadosMsg` e campo `xServ` ausente adicionados
76
+ - DANFE-COM: desabilitadas requisições web do prawn-svg (`enable_web_requests: false`) em ambos os call sites de `pdf.svg`
77
+ - CI expandido para Ruby 3.2, 3.3 e 3.4; RuboCop executado apenas no Ruby 3.4
78
+
79
+ ### Tests
80
+ - Adicionados shared contexts para certificado mockado e configuração padrão
81
+ - Adicionadas specs de parser para as quatro subclasses
82
+ - Adicionadas specs de webservice para `status` e `consulta`
83
+ - Specs de `autorizacao` e `signature` atualizadas para usar shared contexts
84
+ - `client_spec` atualizado para usar os novos nomes de classes de parser
85
+ - Adicionadas specs de modelo para `Emitente` e `Destinatario`
86
+ - Adicionada spec do builder `DanfeCom` com XML de fixture sintético
87
+ - Removido `response_parser_spec.rb`
data/lib/nfcom/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nfcom
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
data/nfcom.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  spec.description = 'Gem para integração com SEFAZ para emissão de NF-COM, incluindo geração ' \
13
13
  'de XML, assinatura digital, envio e consulta de notas fiscais ' \
14
14
  'de serviços de comunicação e telecomunicação'
15
- spec.homepage = 'https://github.com/keithyoder/nfcom'
15
+ spec.homepage = 'https://github.com/keithyoder/nfcom-ruby'
16
16
  spec.license = 'MIT'
17
17
  spec.required_ruby_version = '>= 2.7', '< 4.0'
18
18
 
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
33
33
  spec.require_paths = ['lib']
34
34
 
35
- spec.add_dependency 'nokogiri', '>= 1.15.7', '< 2.0'
35
+ spec.add_dependency 'nokogiri', '>= 1.19.3', '< 2.0'
36
36
  spec.add_dependency 'openssl', '>= 2.0', '< 5.0'
37
37
  spec.add_dependency 'prawn', '>= 2.4', '< 3.0'
38
38
  spec.add_dependency 'prawn-qrcode', '>= 0.3', '< 1.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nfcom
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Keith Yoder
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-04-07 00:00:00.000000000 Z
11
+ date: 2026-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.15.7
19
+ version: 1.19.3
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '2.0'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 1.15.7
29
+ version: 1.19.3
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '2.0'
@@ -208,11 +208,11 @@ files:
208
208
  - lib/nfcom/webservices/inutilizacao.rb
209
209
  - lib/nfcom/webservices/status.rb
210
210
  - nfcom.gemspec
211
- homepage: https://github.com/keithyoder/nfcom
211
+ homepage: https://github.com/keithyoder/nfcom-ruby
212
212
  licenses:
213
213
  - MIT
214
214
  metadata:
215
- homepage_uri: https://github.com/keithyoder/nfcom
215
+ homepage_uri: https://github.com/keithyoder/nfcom-ruby
216
216
  source_code_uri: https://github.com/keithyoder/nfcom-ruby
217
217
  changelog_uri: https://github.com/keithyoder/nfcom-ruby/blob/main/CHANGELOG.md
218
218
  rubygems_mfa_required: 'true'