enotas_api 3.0.1 → 4.0.0

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: 37e4fb218f4177a2338a1391987d4652b084f3376d10cb350c33aebc8bb5ab37
4
- data.tar.gz: 3939fa78e6af73baaa69877706f13b57ad1bc9f012e77bc795ec12c79e372635
3
+ metadata.gz: 71850347c5ef565b749e81d9bd89787f0d3f313709a55c4b7ba67df060c28339
4
+ data.tar.gz: f3fceeeb982cd826099bd86d70af5977d335d31a3d671e1822f123538c969846
5
5
  SHA512:
6
- metadata.gz: e4193b37083f9cf29803de870112c4240ca5e8af293138e17cc7c4f0a70ca0c57de0a6952c4985de3e44cf207cea283ca54c32aaf2301bc41ee16b34b90355eb
7
- data.tar.gz: b36355f46c9b980048a611bda0ea6690eab775af8bd381e0e9668cf9c2e6f65b5f3bedce7d16329c86c9d4ec0bde2a86a36526c7f8a668ed3aa4059ce52407fd
6
+ metadata.gz: f20fa56cb1cbe25ee49df5b8d4fc645dbe173f83d1cce68601c97ce7bab979d00970c308c6afe36f581030295bc737050770e185317587ad59fe4d97577bb8a1
7
+ data.tar.gz: 3e38119a6d8238dbc0c9a0d9ee119085911177158e5d0110b8d5f186e1cfa37db9a631a7a5db2da3594e4f7f6ccfe07d968fced6ff6e961395234a10d8a2335d
@@ -18,7 +18,7 @@ jobs:
18
18
  runs-on: ubuntu-latest
19
19
 
20
20
  steps:
21
- - uses: actions/checkout@v2
21
+ - uses: actions/checkout@v3
22
22
  - name: Set up Ruby
23
23
  # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
24
24
  # change this to (see https://github.com/ruby/setup-ruby#versioning):
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.1.2
1
+ 3.2.2
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 4.0.0
2
+ - Add support to ruby >= 3.2.2
3
+ - [BREAKING_CHANGE] Drop support for ruby 2.7
4
+ - Update development gems
1
5
  # Not Released
2
6
  - Update changelog on gemspec
3
7
  # 3.0.1
data/Gemfile CHANGED
@@ -4,3 +4,11 @@ source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in enotas_api.gemspec
6
6
  gemspec
7
+
8
+ group :development do
9
+ gem 'rake', '~> 13.0', '>= 13.0.6'
10
+ gem 'rspec', '~> 3.12'
11
+ gem 'rubocop', '~> 1.51'
12
+ gem 'rubocop-rspec', '~> 2.22'
13
+ gem 'webmock', '~> 3.18', '>= 3.18.1'
14
+ end
data/Gemfile.lock CHANGED
@@ -1,55 +1,63 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- enotas_api (3.0.1)
4
+ enotas_api (4.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- addressable (2.8.0)
10
- public_suffix (>= 2.0.2, < 5.0)
9
+ addressable (2.8.4)
10
+ public_suffix (>= 2.0.2, < 6.0)
11
11
  ast (2.4.2)
12
12
  crack (0.4.5)
13
13
  rexml
14
14
  diff-lcs (1.5.0)
15
15
  hashdiff (1.0.1)
16
- parallel (1.22.1)
17
- parser (3.1.2.0)
16
+ json (2.6.3)
17
+ parallel (1.23.0)
18
+ parser (3.2.2.1)
18
19
  ast (~> 2.4.1)
19
- public_suffix (4.0.7)
20
+ public_suffix (5.0.1)
20
21
  rainbow (3.1.1)
21
- rake (13.0.1)
22
- regexp_parser (2.5.0)
22
+ rake (13.0.6)
23
+ regexp_parser (2.8.0)
23
24
  rexml (3.2.5)
24
- rspec (3.11.0)
25
- rspec-core (~> 3.11.0)
26
- rspec-expectations (~> 3.11.0)
27
- rspec-mocks (~> 3.11.0)
28
- rspec-core (3.11.0)
29
- rspec-support (~> 3.11.0)
30
- rspec-expectations (3.11.0)
25
+ rspec (3.12.0)
26
+ rspec-core (~> 3.12.0)
27
+ rspec-expectations (~> 3.12.0)
28
+ rspec-mocks (~> 3.12.0)
29
+ rspec-core (3.12.2)
30
+ rspec-support (~> 3.12.0)
31
+ rspec-expectations (3.12.3)
31
32
  diff-lcs (>= 1.2.0, < 2.0)
32
- rspec-support (~> 3.11.0)
33
- rspec-mocks (3.11.1)
33
+ rspec-support (~> 3.12.0)
34
+ rspec-mocks (3.12.5)
34
35
  diff-lcs (>= 1.2.0, < 2.0)
35
- rspec-support (~> 3.11.0)
36
- rspec-support (3.11.0)
37
- rubocop (1.30.1)
36
+ rspec-support (~> 3.12.0)
37
+ rspec-support (3.12.0)
38
+ rubocop (1.51.0)
39
+ json (~> 2.3)
38
40
  parallel (~> 1.10)
39
- parser (>= 3.1.0.0)
41
+ parser (>= 3.2.0.0)
40
42
  rainbow (>= 2.2.2, < 4.0)
41
43
  regexp_parser (>= 1.8, < 3.0)
42
44
  rexml (>= 3.2.5, < 4.0)
43
- rubocop-ast (>= 1.18.0, < 2.0)
45
+ rubocop-ast (>= 1.28.0, < 2.0)
44
46
  ruby-progressbar (~> 1.7)
45
- unicode-display_width (>= 1.4.0, < 3.0)
46
- rubocop-ast (1.18.0)
47
- parser (>= 3.1.1.0)
48
- rubocop-rspec (2.11.1)
49
- rubocop (~> 1.19)
50
- ruby-progressbar (1.11.0)
51
- unicode-display_width (2.1.0)
52
- webmock (3.14.0)
47
+ unicode-display_width (>= 2.4.0, < 3.0)
48
+ rubocop-ast (1.28.1)
49
+ parser (>= 3.2.1.0)
50
+ rubocop-capybara (2.18.0)
51
+ rubocop (~> 1.41)
52
+ rubocop-factory_bot (2.23.0)
53
+ rubocop (~> 1.33)
54
+ rubocop-rspec (2.22.0)
55
+ rubocop (~> 1.33)
56
+ rubocop-capybara (~> 2.17)
57
+ rubocop-factory_bot (~> 2.22)
58
+ ruby-progressbar (1.13.0)
59
+ unicode-display_width (2.4.2)
60
+ webmock (3.18.1)
53
61
  addressable (>= 2.8.0)
54
62
  crack (>= 0.3.2)
55
63
  hashdiff (>= 0.4.0, < 2.0.0)
@@ -59,11 +67,11 @@ PLATFORMS
59
67
 
60
68
  DEPENDENCIES
61
69
  enotas_api!
62
- rake (~> 13.0)
63
- rspec (~> 3.11)
64
- rubocop (~> 1.30)
65
- rubocop-rspec (~> 2.11)
66
- webmock (~> 3.14)
70
+ rake (~> 13.0, >= 13.0.6)
71
+ rspec (~> 3.12)
72
+ rubocop (~> 1.51)
73
+ rubocop-rspec (~> 2.22)
74
+ webmock (~> 3.18, >= 3.18.1)
67
75
 
68
76
  BUNDLED WITH
69
77
  2.3.16
data/README.md CHANGED
@@ -16,7 +16,7 @@ PS: Because e-notas api is entire in portuguese, the code and documentation from
16
16
 
17
17
  ## Dependencias
18
18
  EnotasApi não depende de nenhuma Gem externa para executar, (aloha dependency hell).
19
- Porém implementamos utilizamos a versão que ruby que temos em produção atualmente que é `~> ruby 2.6.6`.
19
+ Porém implementamos utilizamos a versão que ruby que temos em produção atualmente que é `~> ruby 3.2.2`.
20
20
  Se tiver interesse em fazer backport para versões anteriores, não deixe de fazer seu comentário ou abrir um PR.
21
21
 
22
22
  ## Instalação
@@ -141,6 +141,7 @@ O suporte as novas APIs (V2) com suporte a NFC-e e NF-e estarão disponíveis em
141
141
  - [ ] Manifestação de Destinatário (NF-e)
142
142
 
143
143
  # Como liberar uma nova versão
144
+ 1. Garantir cobertura de teste em 100% (para rodar os testes: rake check)
144
145
  1. Atualizar o [CHANGELOG](https://github.com/bempapp/enotas_api/blob/main/CHANGELOG.md)
145
146
  1. Atualizar a versão em [version.rb](https://github.com/bempapp/enotas_api/blob/main/lib/enotas_api/version.rb)
146
147
  1. Realizar o commit
data/enotas_api.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  spec.description = 'Non oficial, well supported, e-notas ruby api client'
13
13
  spec.homepage = 'https://github.com/bempapp/enotas_api'
14
14
  spec.license = 'MIT'
15
- spec.required_ruby_version = Gem::Requirement.new('>= 2.7')
15
+ spec.required_ruby_version = Gem::Requirement.new('>= 3.2.2')
16
16
 
17
17
  spec.metadata['allowed_push_host'] = 'https://rubygems.org'
18
18
 
@@ -27,10 +27,5 @@ Gem::Specification.new do |spec|
27
27
  end
28
28
  spec.require_paths = ['lib']
29
29
 
30
- spec.add_development_dependency 'rake', '~> 13.0'
31
- spec.add_development_dependency 'rspec', '~> 3.11'
32
- spec.add_development_dependency 'rubocop', '~> 1.30'
33
- spec.add_development_dependency 'rubocop-rspec', '~> 2.11'
34
- spec.add_development_dependency 'webmock', '~> 3.14'
35
30
  spec.metadata['rubygems_mfa_required'] = 'true'
36
31
  end
@@ -5,19 +5,19 @@ require 'net/http'
5
5
  module EnotasApi
6
6
  class RequestProvider
7
7
  def get(url)
8
- request(obj: Net::HTTP::Get, url: url)
8
+ request(obj: Net::HTTP::Get, url:)
9
9
  end
10
10
 
11
11
  def post(url, body)
12
- request(obj: Net::HTTP::Post, url: url, body: body)
12
+ request(obj: Net::HTTP::Post, url:, body:)
13
13
  end
14
14
 
15
15
  def post_form(url, form_data)
16
- request(obj: Net::HTTP::Post, url: url, form_data: form_data.to_a)
16
+ request(obj: Net::HTTP::Post, url:, form_data: form_data.to_a)
17
17
  end
18
18
 
19
19
  def delete(url)
20
- request(obj: Net::HTTP::Delete, url: url)
20
+ request(obj: Net::HTTP::Delete, url:)
21
21
  end
22
22
 
23
23
  private
@@ -8,7 +8,7 @@ module EnotasApi
8
8
  class BaixarPdfNfs < EnotasApi::Request
9
9
  def initialize(empresa_id, nfs_id)
10
10
  uri = "/v1/empresas/#{url_encode(empresa_id)}/nfes/#{url_encode(nfs_id)}/pdf"
11
- super(uri: uri, result_object: EnotasApi::RawResult)
11
+ super(uri:, result_object: EnotasApi::RawResult)
12
12
  end
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ module EnotasApi
8
8
  class BaixarPdfNfsIdExterno < EnotasApi::Request
9
9
  def initialize(empresa_id, id_externo)
10
10
  uri = "/v1/empresas/#{url_encode(empresa_id)}/nfes/porIdExterno/#{url_encode(id_externo)}/pdf"
11
- super(uri: uri, result_object: EnotasApi::RawResult)
11
+ super(uri:, result_object: EnotasApi::RawResult)
12
12
  end
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ module EnotasApi
8
8
  class BaixarXmlNfs < EnotasApi::Request
9
9
  def initialize(empresa_id, nfs_id)
10
10
  uri = "/v1/empresas/#{url_encode(empresa_id)}/nfes/#{url_encode(nfs_id)}/xml"
11
- super(uri: uri)
11
+ super(uri:)
12
12
  end
13
13
  end
14
14
  end
@@ -8,7 +8,7 @@ module EnotasApi
8
8
  class BaixarXmlNfsIdExterno < EnotasApi::Request
9
9
  def initialize(empresa_id, id_externo)
10
10
  uri = "/v1/empresas/#{url_encode(empresa_id)}/nfes/porIdExterno/#{url_encode(id_externo)}/xml"
11
- super(uri: uri)
11
+ super(uri:)
12
12
  end
13
13
  end
14
14
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EnotasApi
4
- VERSION = '3.0.1'
4
+ VERSION = '4.0.0'
5
5
  end
data/lib/enotas_api.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- Dir[File.join(__dir__, 'enotas_api/**/*.rb')].sort.each(&method(:require))
3
+ Dir[File.join(__dir__, 'enotas_api/**/*.rb')].each(&method(:require))
4
4
 
5
5
  module EnotasApi
6
6
  end
metadata CHANGED
@@ -1,85 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enotas_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo Bohrer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-27 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rake
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '13.0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '13.0'
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '3.11'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '3.11'
41
- - !ruby/object:Gem::Dependency
42
- name: rubocop
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '1.30'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '1.30'
55
- - !ruby/object:Gem::Dependency
56
- name: rubocop-rspec
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '2.11'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '2.11'
69
- - !ruby/object:Gem::Dependency
70
- name: webmock
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '3.14'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '3.14'
11
+ date: 2023-05-16 00:00:00.000000000 Z
12
+ dependencies: []
83
13
  description: Non oficial, well supported, e-notas ruby api client
84
14
  email:
85
15
  - eduardo@bemp.com.br
@@ -146,8 +76,6 @@ files:
146
76
  - lib/enotas_api/v1/vincular_certificado.rb
147
77
  - lib/enotas_api/v1/vincular_logotipo.rb
148
78
  - lib/enotas_api/version.rb
149
- - sample2.rb
150
- - sample3.rb
151
79
  homepage: https://github.com/bempapp/enotas_api
152
80
  licenses:
153
81
  - MIT
@@ -157,7 +85,7 @@ metadata:
157
85
  source_code_uri: https://github.com/bempapp/enotas_api
158
86
  changelog_uri: https://github.com/bempapp/enotas_api/blob/main/CHANGELOG.md
159
87
  rubygems_mfa_required: 'true'
160
- post_install_message:
88
+ post_install_message:
161
89
  rdoc_options: []
162
90
  require_paths:
163
91
  - lib
@@ -165,15 +93,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
93
  requirements:
166
94
  - - ">="
167
95
  - !ruby/object:Gem::Version
168
- version: '2.7'
96
+ version: 3.2.2
169
97
  required_rubygems_version: !ruby/object:Gem::Requirement
170
98
  requirements:
171
99
  - - ">="
172
100
  - !ruby/object:Gem::Version
173
101
  version: '0'
174
102
  requirements: []
175
- rubygems_version: 3.3.7
176
- signing_key:
103
+ rubygems_version: 3.1.2
104
+ signing_key:
177
105
  specification_version: 4
178
106
  summary: E-notas API client
179
107
  test_files: []
data/sample2.rb DELETED
@@ -1,89 +0,0 @@
1
- # frozen_string_literal: true
2
- # rubocop:disable all
3
-
4
- require_relative 'lib/enotas_api'
5
-
6
- EnotasApi::Configuration.configure(api_key: 'Nzk2ZGViNWUtYWY0YS00M2Y3LThhMjEtZGU4MTYzODkwNjAw')
7
-
8
- sz = EnotasApi::V1::Empresa.new({
9
- id: 'b90c486b-b53e-48a6-8f94-141f83980600',
10
- cnpj: '31552469000167',
11
- inscricaoMunicipal: '61114626',
12
- razaoSocial: 'Salão Zen Desenvolvimento de Sistemas LTDA',
13
- nomeFantasia: 'Salão Zen',
14
- optanteSimplesNacional: true,
15
- email: 'administrativo@salaozen.com.br',
16
- telefoneComercial: '51 993286954',
17
- aliquotaIss: 2.0,
18
- regimeEspecialTributacao: '6',
19
- # codigoServicoMunicipal: '010100100',
20
- # descricaoServico: 'Análise de sistemas',
21
- # itemListaServicoLC116: '1.01',
22
- endereco: {
23
- codigoIbgeUf: 43,
24
- codigoIbgeCidade: 4_314_902,
25
- pais: 'Brasil',
26
- uf: 'RS',
27
- cidade: 'Porto Alegre',
28
- logradouro: 'Avenida Jose Aloisio Filho',
29
- numero: '411',
30
- complemento: '266',
31
- bairro: 'Humaitá',
32
- cep: '90250180'
33
- },
34
- configuracoesNFSeHomologacao: {
35
- sequencialNFe: 1,
36
- serieNFe: '1',
37
- sequencialLoteNFe: 1,
38
- usuarioAcessoProvedor: nil,
39
- senhaAcessoProvedor: nil,
40
- tokenAcessoProvedor: nil
41
- },
42
- configuracoesNFSeProducao: {
43
- sequencialNFe: 682,
44
- serieNFe: '1',
45
- sequencialLoteNFe: 682,
46
- usuarioAcessoProvedor: nil,
47
- senhaAcessoProvedor: nil,
48
- tokenAcessoProvedor: nil
49
- }
50
- })
51
-
52
- nfs = EnotasApi::V1::Nfs.new(
53
- idExterno: "teste-#{Random.rand(999_999_999)}",
54
- ambienteEmissao: 'Homologacao',
55
- enviarPorEmail: true,
56
- cliente: {
57
- tipoPessoa: 'F',
58
- nome: 'Luis Eduardo Bohrer da Silva',
59
- email: 'eduardo@salaozen.com.br',
60
- cpfCnpj: '00910366071',
61
- endereco: {
62
- uf: 'RS',
63
- cidade: 'Porto Alegre',
64
- logradouro: 'Avenida Jose Aloisio Filho',
65
- numero: '411',
66
- complemento: '266',
67
- bairro: 'Humaitá',
68
- cep: '90250180'
69
- }
70
- },
71
- servico: {
72
- descricao: 'Teste'
73
- # codigoInternoServicoMunicipal: "14283"
74
- },
75
- valorTotal: 1.0,
76
- observacoes: 'Teste'
77
- )
78
-
79
- # json_nota = EnotasApi::V1::EmitirNfs.new(sz.id, nfs).call
80
- # puts 'JSON NOTA', json_nota.to_json
81
-
82
- # puts EnotasApi::V1::ConsultarNfs.new(sz.id, json_nota.nfeId).call.to_json
83
-
84
- nfId = 'abb97f74-f98b-4dbb-a48b-1c1991d60600'
85
- nfId = 'f2acaf7f-918a-4f67-8248-88b9c6d60600'
86
- salonId = '0569139F-03F6-4189-A224-D546E49D0600'
87
- puts EnotasApi::V1::ConsultarNfs.new(salonId, nfId).call.to_json
88
-
89
- # "valorCofins":0.0,"valorCsll":0.0,"valorInss":0.0,"valorIr":0.0,"valorPis":0.0,","valorIss":48.0
data/sample3.rb DELETED
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
- # rubocop:disable all
3
-
4
- require_relative 'lib/enotas_api'
5
-
6
- EnotasApi::Configuration.configure(api_key: 'Nzk2ZGViNWUtYWY0YS00M2Y3LThhMjEtZGU4MTYzODkwNjAw')
7
-
8
- puts EnotasApi::V1::ConsultarNfs.new('B90C486B-B53E-48A6-8F94-141F83980600', 'development:nfs:2:1:bu').call.to_json