enotas_nfe 0.0.1

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6cfe4ea755838189bd877b35fc55c831599b25a3
4
+ data.tar.gz: 755277cde82c745b9fb708b08c73c30b1f8f3574
5
+ SHA512:
6
+ metadata.gz: d37764f1e8f6805999a32ee6bc33f9a349f553c9c352cd5f5706a5ebf1f5fd0195e10114366bd0b7670d768dc3d85d6a84382c9ab2448b124389563b17ffbbf3
7
+ data.tar.gz: 8e486c302174e4061af50dbaa52ed03c6ddadcb66de5d753b337d22f238c754467f07ec2e8cebfddf5c83b296f0ade3858633c5d631c7f9efc8529bf19a347b4
data/MIT-LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2017 Luis Fernando Pimenta
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,110 @@
1
+ # eNotas Gateway - Ruby
2
+
3
+ Wrapper não OFICIAL Ruby da API do eNotas Gateway, plataforma de emissâo automática de nota fiscal eletrônica de serviço (NFS-e), Produto (NF-e) e Consumidor (NFC-e).
4
+
5
+ A documentação completa dos endpoints pode ser encontrada aqui: [API eNotas Gateway](http://app.enotasgw.com.br/docs).
6
+
7
+ Mais detalhes: [enotasgw.com.br](http://enotasgw.com.br)
8
+
9
+ Exemplo em PHP pode ser [encontrado aqui.](https://github.com/eNotasGW) - na biblioteca oficial.
10
+
11
+ ## Instalação
12
+
13
+ Adicione o código abaixo ao Gemfile da sua aplicação:
14
+
15
+ ```ruby
16
+ gem 'enotas-nfe'
17
+ ```
18
+
19
+ E execute:
20
+
21
+ $ bundle
22
+
23
+ Ou instale manualmente:
24
+
25
+ $ gem install enotas-nfe
26
+
27
+ ## Uso básico
28
+
29
+ * Instancie o cliente passando sua API key:
30
+
31
+ ```ruby
32
+ client = Enotas::Client.new('sua-api-key-do-e-notas')
33
+ ```
34
+
35
+ Agora já podemos emitir uma nota!
36
+
37
+ * Emitindo uma nova nota de SERVIÇO:
38
+
39
+ ```ruby
40
+ nfe = Enotas::Model::Nfe.new
41
+ nfe.tipo = 'NFS-e'
42
+ nfe.idExterno = '42'
43
+ nfe.cliente = {
44
+ name: 'Luis Fernando Pimenta',
45
+ email: 'email@luispimenta.me',
46
+ cpfCnpj: '33199707807'
47
+ }
48
+ nfe.enviarPorEmail = true
49
+ nfe.cliente.endereco = {
50
+ uf: 'PR',
51
+ cidade: 'Curitiba',
52
+ logradouro: 'Rua 01',
53
+ numero: '112',
54
+ bairro: 'Centro',
55
+ cep: '80000000'
56
+ }
57
+
58
+ nfe.servico = {
59
+ descricao: 'Reparo em computador',
60
+ aliquotaIss: 0,
61
+ issRetidoFonte: true,
62
+ cnae: "4520001",
63
+ codigoServicoMunicipio: "666133",
64
+ descricaoServicoMunicipio: "Reparo em computador",
65
+ itemListaServicoLC116: "1000",
66
+ ufPrestacaoServico: "PR",
67
+ municipioPrestacaoServico: "Curitiba",
68
+ valorCofins: 0,
69
+ valorCsll: 0,
70
+ valorInss: 0,
71
+ valorIr: 0,
72
+ valorPis: 0
73
+ }
74
+
75
+ nfe.nfe_create('id-da-empresa-no-enotas', nfe)
76
+ ```
77
+
78
+ * Emitindo uma nova nota NFe:
79
+
80
+ ## Testando a gem localmente
81
+
82
+ ```ruby
83
+ gem build enotas_nfe.gemspec
84
+ gem install enotas-nfe-0.0.1.gem
85
+ irb
86
+ require 'enotas_nfe'
87
+ ```
88
+
89
+ ## Contribuindo
90
+
91
+ Para contruibuir de uma forma adequada, siga os passos abaixo:
92
+
93
+ * Faça um fork do projeto;
94
+ * Após clonar seu fork, crie um novo branch com a feature que deseja implementar;
95
+ * Envie seu branch para seu repositório remoto;
96
+ * Solicite um PR a partir desse novo branch enviado.
97
+
98
+ Issues e comentários são sempre bem-vindos no repoistório oficial: https://github.com/enotas/enotas-ruby.
99
+
100
+ ## ROADMAP
101
+
102
+ Quer contribuir e não sabe por onde começar? Veja nosso ROADMAP:
103
+
104
+ * Escrever testes;
105
+ * Normalizar campos dos models para o padrão ruby;
106
+ * Cobrir os endpoints referentes ao resource "empresa".
107
+
108
+ ## License
109
+
110
+ Esta gem está disponível através da [licença MIT](http://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,33 @@
1
+ begin
2
+ require 'bundler/setup'
3
+ rescue LoadError
4
+ puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
5
+ end
6
+
7
+ require 'rdoc/task'
8
+
9
+ RDoc::Task.new(:rdoc) do |rdoc|
10
+ rdoc.rdoc_dir = 'rdoc'
11
+ rdoc.title = 'EnotasNfe'
12
+ rdoc.options << '--line-numbers'
13
+ rdoc.rdoc_files.include('README.md')
14
+ rdoc.rdoc_files.include('lib/**/*.rb')
15
+ end
16
+
17
+
18
+
19
+
20
+
21
+
22
+ require 'bundler/gem_tasks'
23
+
24
+ require 'rake/testtask'
25
+
26
+ Rake::TestTask.new(:test) do |t|
27
+ t.libs << 'test'
28
+ t.pattern = 'test/**/*_test.rb'
29
+ t.verbose = false
30
+ end
31
+
32
+
33
+ task default: :test
@@ -0,0 +1,23 @@
1
+ module EnotasNfe
2
+ class Client
3
+ include Connection
4
+ include Request
5
+ include Facades
6
+ include Endpoints
7
+
8
+ NFSE_ENDPOINT = "https://api.enotasgw.com.br/v1"
9
+ NFE_ENDPOINT = "https://api.enotasgw.com.br/v2"
10
+
11
+ attr_accessor :auth_token, :endpoint
12
+
13
+ def initialize(auth_token, endpoint)
14
+ @auth_token = auth_token
15
+ if endpoint == 'nfe'
16
+ @endpoint = NFE_ENDPOINT
17
+ else
18
+ @endpoint = NFSE_ENDPOINT
19
+ end
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,26 @@
1
+ require 'faraday_middleware'
2
+
3
+ module EnotasNfe
4
+ module Connection
5
+ private
6
+
7
+ def connection
8
+ options = {
9
+ headers: {
10
+ "Content-Type": "application/json",
11
+ "Accept": "application/json",
12
+ "User-Agent": "Enotas ruby client"
13
+ },
14
+ url: endpoint
15
+ }
16
+
17
+ Faraday.new(options) do |connection|
18
+ connection.use Middleware, auth_token
19
+ connection.use Faraday::Response::ParseJson
20
+
21
+ connection.adapter :net_http
22
+ end
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,58 @@
1
+ module EnotasNfe
2
+ module Endpoints
3
+ include Request
4
+
5
+ def nfe_create(firm_id, body)
6
+ post("empresas/#{firm_id}/nf-e", body)
7
+ end
8
+
9
+ def nfe_delete(firm_id, nfe_id)
10
+ delete("empresas/#{firm_id}/nf-e/#{nfe_id}")
11
+ end
12
+
13
+ def nfe_get(firm_id, id)
14
+ get("empresas/#{firm_id}/nf-e/#{id}")
15
+ end
16
+
17
+ def nfse_list(firm_id, body = {})
18
+ get("empresas/#{firm_id}/nfes", body)
19
+ end
20
+
21
+ def nfse_create(firm_id, body)
22
+ post("empresas/#{firm_id}/nfes", body)
23
+ end
24
+
25
+ def nfse_delete(firm_id, nfe_id)
26
+ delete("empresas/#{firm_id}/nfes/#{nfe_id}")
27
+ end
28
+
29
+ def nfse_get(firm_id, id)
30
+ get("empresas/#{firm_id}/nfes/#{id}")
31
+ end
32
+
33
+ def nfse_get_by_external_id(firm_id, external_id)
34
+ get("empresas/#{firm_id}/nfes/porIdExterno/#{external_id}")
35
+ end
36
+
37
+ def nfse_delete_by_external_id(firm_id, external_id)
38
+ delete("empresas/#{firm_id}/nfes/porIdExterno/#{external_id}")
39
+ end
40
+
41
+ def nfse_get_pdf(firm_id, id)
42
+ get("empresas/#{firm_id}/nfes/#{id}")
43
+ end
44
+
45
+ def nfse_get_pdf_by_external_id(firm_id, external_id)
46
+ get("empresas/#{firm_id}/nfes/porIdExterno/#{external_id}/pdf")
47
+ end
48
+
49
+ def nfse_get_xml(firm_id, id)
50
+ get("empresas/#{firm_id}/nfes/#{id}/xml")
51
+ end
52
+
53
+ def nfse_get_xml_by_external_id(firm_id, external_id)
54
+ get("empresas/#{firm_id}/nfes/porIdExterno/#{external_id}/xml")
55
+ end
56
+
57
+ end
58
+ end
@@ -0,0 +1,9 @@
1
+ module EnotasNfe
2
+ module Facades
3
+
4
+ def build_nfe(attributes = {})
5
+ Model::Nfe.new(attributes)
6
+ end
7
+
8
+ end
9
+ end
@@ -0,0 +1,17 @@
1
+ module EnotasNfe
2
+ class Middleware < Faraday::Middleware
3
+
4
+ def call(env)
5
+ if @auth_token
6
+ env[:request_headers] = env[:request_headers].merge("Authorization": "Basic #{@auth_token}")
7
+ end
8
+ @app.call env
9
+ end
10
+
11
+ def initialize(app, auth_token = nil)
12
+ @app = app
13
+ @auth_token = auth_token
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,20 @@
1
+ module EnotasNfe
2
+ module Model
3
+ class Cliente
4
+
5
+ include Virtus.model
6
+
7
+ attribute :tipoPessoa, String
8
+ attribute :nome, String
9
+ attribute :email, String
10
+ attribute :cpfCnpj, String
11
+ attribute :inscricaoMunicipal, String
12
+ attribute :inscricaoEstadual, String
13
+ attribute :indicadorContribuinteICMS, String
14
+ attribute :telefone, String
15
+
16
+ attribute :endereco, Endereco
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ module EnotasNfe
2
+ module Model
3
+ class Cofins
4
+
5
+ include Virtus.model
6
+
7
+ attribute :situacaoTributaria, String
8
+
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,18 @@
1
+ module EnotasNfe
2
+ module Model
3
+ class Endereco
4
+
5
+ include Virtus.model
6
+
7
+ attribute :pais, String
8
+ attribute :uf, String
9
+ attribute :cidade, String
10
+ attribute :logradouro, String
11
+ attribute :numero, String
12
+ attribute :complemento, String
13
+ attribute :bairro, String
14
+ attribute :cep, String
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,12 @@
1
+ module EnotasNfe
2
+ module Model
3
+ class Icms
4
+
5
+ include Virtus.model
6
+
7
+ attribute :situacaoTributaria, String
8
+ attribute :origem, String
9
+
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,16 @@
1
+ module EnotasNfe
2
+ module Model
3
+ class Impostos
4
+
5
+ include Virtus.model
6
+ require "enotas_nfe/model/cofins"
7
+ require "enotas_nfe/model/icms"
8
+ require "enotas_nfe/model/pis"
9
+
10
+ attribute :icms, Icms
11
+ attribute :pis, Pis
12
+ attribute :cofins, Cofins
13
+
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ module EnotasNfe
2
+ module Model
3
+ class Issqn
4
+
5
+ include Virtus.model
6
+
7
+ attribute :itemListaServicoLC116, String
8
+ attribute :aliquotaIss, Decimal
9
+
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,26 @@
1
+ module EnotasNfe
2
+ module Model
3
+ class Nfe
4
+
5
+ include Virtus.model
6
+
7
+ attribute :id, String
8
+ attribute :enviarPorEmail, Boolean
9
+ attribute :ambienteEmissao, String
10
+ attribute :naturezaOperacao, String
11
+ attribute :consumidorFinal, Boolean
12
+ attribute :finalidade, String
13
+ attribute :tipo, String
14
+ attribute :idExterno, String
15
+ attribute :indicadorPresencaConsumidor, String
16
+ attribute :valorTotal, Float
17
+ attribute :idExternoSubstituir, String
18
+ attribute :nfeIdSubstitituir, String
19
+ attribute :informacoesAdicionais, String
20
+ attribute :itens, Array
21
+ attribute :servico, Servico
22
+ attribute :cliente, Cliente
23
+
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,11 @@
1
+ module EnotasNfe
2
+ module Model
3
+ class Pis
4
+
5
+ include Virtus.model
6
+
7
+ attribute :situacaoTributaria, String
8
+
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,20 @@
1
+ module EnotasNfe
2
+ module Model
3
+ class Produto
4
+
5
+ include Virtus.model
6
+ require "enotas_nfe/model/impostos"
7
+
8
+ attribute :descricao, String
9
+ attribute :cfop, String
10
+ attribute :codigo, String
11
+ attribute :descricao, String
12
+ attribute :ncm, String
13
+ attribute :quantidade, Integer
14
+ attribute :unidadeMedida, String
15
+ attribute :valorUnitario, Float
16
+ attribute :impostos, Impostos
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,23 @@
1
+ module EnotasNfe
2
+ module Model
3
+ class Servico
4
+
5
+ include Virtus.model
6
+
7
+ attribute :descricao, String
8
+ attribute :aliquotaIss, Float
9
+ attribute :issRetidoFonte, Boolean
10
+ attribute :cnae, String
11
+ attribute :codigoServicoMunicipio, String
12
+ attribute :descricaoServicoMunicipio, String
13
+ attribute :itemListaServicoLC116, String
14
+ attribute :ufPrestacaoServico, String
15
+ attribute :municipioPrestacaoServico, String
16
+ attribute :valorCofins, Decimal
17
+ attribute :valorInss, Decimal
18
+ attribute :valorIr, Decimal
19
+ attribute :valorPis, Decimal
20
+
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,43 @@
1
+ module EnotasNfe
2
+ module Request
3
+ include Connection
4
+
5
+ def get(path, body = {})
6
+ request(:get, path, body)
7
+ end
8
+
9
+ def post(path, body = {})
10
+ request(:post, path, body)
11
+ end
12
+
13
+ def delete(path, body = {})
14
+ request(:delete, path, body)
15
+ end
16
+
17
+ private
18
+
19
+ def request(method, path, body)
20
+ body_serialized = serialize_body(body)
21
+
22
+ response = connection.send(method) do |request|
23
+ path = URI.encode(path)
24
+
25
+ case method
26
+ when :get, :delete
27
+ request.url(path, body_serialized)
28
+ when :post
29
+ request.path = path
30
+ puts request.body = body_serialized.to_json
31
+ request.headers
32
+ end
33
+ end
34
+
35
+ response.body
36
+ end
37
+
38
+ def serialize_body(body)
39
+ VirtusConvert.new(body, reject_nils: true).to_hash
40
+ end
41
+
42
+ end
43
+ end
@@ -0,0 +1,3 @@
1
+ module EnotasNfe
2
+ VERSION = "0.0.1"
3
+ end
data/lib/enotas_nfe.rb ADDED
@@ -0,0 +1,25 @@
1
+ require "virtus"
2
+ require "virtus_convert"
3
+ require "faraday"
4
+ require "faraday_middleware"
5
+
6
+ require "enotas_nfe/version"
7
+ require "enotas_nfe/middleware"
8
+ require "enotas_nfe/connection"
9
+ require "enotas_nfe/request"
10
+ require "enotas_nfe/endpoints"
11
+ require "enotas_nfe/model/endereco"
12
+ require "enotas_nfe/model/servico"
13
+ require "enotas_nfe/model/produto"
14
+ require "enotas_nfe/model/cliente"
15
+ require "enotas_nfe/model/nfe"
16
+ require "enotas_nfe/model/cofins"
17
+ require "enotas_nfe/model/icms"
18
+ require "enotas_nfe/model/impostos"
19
+ require "enotas_nfe/model/issqn"
20
+ require "enotas_nfe/model/pis"
21
+ require "enotas_nfe/facades"
22
+ require "enotas_nfe/client"
23
+
24
+ module EnotasNfe
25
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :enotas_nfe do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,170 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: enotas_nfe
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Luis Fernando Pimenta
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2017-11-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.13'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.13'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: virtus
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.0'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 1.0.5
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - "~>"
70
+ - !ruby/object:Gem::Version
71
+ version: '1.0'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 1.0.5
75
+ - !ruby/object:Gem::Dependency
76
+ name: virtus_convert
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: 0.1.0
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: 0.1.0
89
+ - !ruby/object:Gem::Dependency
90
+ name: faraday
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.9'
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '0.9'
103
+ - !ruby/object:Gem::Dependency
104
+ name: faraday_middleware
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: 0.12.0
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: 0.12.0
117
+ description: E-Notas nfe gateway wrapper
118
+ email:
119
+ - email@luispimenta.me
120
+ executables: []
121
+ extensions: []
122
+ extra_rdoc_files: []
123
+ files:
124
+ - MIT-LICENSE
125
+ - README.md
126
+ - Rakefile
127
+ - lib/enotas_nfe.rb
128
+ - lib/enotas_nfe/client.rb
129
+ - lib/enotas_nfe/connection.rb
130
+ - lib/enotas_nfe/endpoints.rb
131
+ - lib/enotas_nfe/facades.rb
132
+ - lib/enotas_nfe/middleware.rb
133
+ - lib/enotas_nfe/model/cliente.rb
134
+ - lib/enotas_nfe/model/cofins.rb
135
+ - lib/enotas_nfe/model/endereco.rb
136
+ - lib/enotas_nfe/model/icms.rb
137
+ - lib/enotas_nfe/model/impostos.rb
138
+ - lib/enotas_nfe/model/issqn.rb
139
+ - lib/enotas_nfe/model/nfe.rb
140
+ - lib/enotas_nfe/model/pis.rb
141
+ - lib/enotas_nfe/model/produto.rb
142
+ - lib/enotas_nfe/model/servico.rb
143
+ - lib/enotas_nfe/request.rb
144
+ - lib/enotas_nfe/version.rb
145
+ - lib/tasks/enotas_nfe_tasks.rake
146
+ homepage: https://github.com/luispimenta/enotas-client
147
+ licenses:
148
+ - MIT
149
+ metadata: {}
150
+ post_install_message:
151
+ rdoc_options: []
152
+ require_paths:
153
+ - lib
154
+ required_ruby_version: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ required_rubygems_version: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: '0'
164
+ requirements: []
165
+ rubyforge_project:
166
+ rubygems_version: 2.6.14
167
+ signing_key:
168
+ specification_version: 4
169
+ summary: E-Notas nfe
170
+ test_files: []