br_invoices_pdf 0.1.5.alpha.11 → 0.1.5
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 +4 -4
- data/.gitignore +0 -2
- data/.rubocop.yml +0 -10
- data/CHANGELOG.md +0 -13
- data/bin/console +3 -5
- data/br_invoices_pdf.gemspec +8 -5
- data/lib/br_invoices_pdf.rb +0 -29
- metadata +6 -40
- data/.rspec +0 -2
- data/lib/br_invoices_pdf/cfe.rb +0 -8
- data/lib/br_invoices_pdf/cfe/parser.rb +0 -26
- data/lib/br_invoices_pdf/cfe/renderer.rb +0 -14
- data/lib/br_invoices_pdf/errors/invalid_document_type.rb +0 -12
- data/lib/br_invoices_pdf/generator.rb +0 -17
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6c7e9c4cf2077e788b7f4db445481177a486b84d
|
|
4
|
+
data.tar.gz: 113e1b0fc810904e1950349912076e35de99619e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 24db492318004366498b75c190111f3377238a5318a5a2f6875ffd8f6e5e3ef88a06f67576088a66044723107d8cf860b00f2758ff8e5df2c12494a87997b6b7
|
|
7
|
+
data.tar.gz: 831db3804206236946eba51c4579dfae5b1f6e32bf254e62caaf61b11caf4a0b85fd6c75f6b3e0f7dfa44451b564342968bf5ebf01c815d2034af8749489c4a8
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -10,12 +10,6 @@ Metrics/ClassLength:
|
|
|
10
10
|
Metrics/MethodLength:
|
|
11
11
|
Max: 15
|
|
12
12
|
|
|
13
|
-
Layout/IndentArray:
|
|
14
|
-
Enabled: false
|
|
15
|
-
|
|
16
|
-
Layout/IndentHash:
|
|
17
|
-
Enabled: false
|
|
18
|
-
|
|
19
13
|
AllCops:
|
|
20
14
|
Exclude:
|
|
21
15
|
- 'spec/factories/*.rb'
|
|
@@ -23,7 +17,3 @@ AllCops:
|
|
|
23
17
|
Lint/AmbiguousBlockAssociation:
|
|
24
18
|
Exclude:
|
|
25
19
|
- 'spec/**/*.rb'
|
|
26
|
-
|
|
27
|
-
Metrics/BlockLength:
|
|
28
|
-
Exclude:
|
|
29
|
-
- 'spec/**/*.rb'
|
data/CHANGELOG.md
CHANGED
|
@@ -3,21 +3,8 @@
|
|
|
3
3
|
## CHANGELOG
|
|
4
4
|
|
|
5
5
|
### Unreleased
|
|
6
|
-
- [Modificado] Atualizando versões das dependências
|
|
7
|
-
- [Adicionado] Estrutura de Generator/Parser/Renderer
|
|
8
|
-
- [Adicionado] Cobertura de testes
|
|
9
6
|
|
|
10
|
-
### 0.1.5 [2017-05-29]
|
|
11
|
-
- [Adicionado] Docs
|
|
12
|
-
- [Adicionado] Integração contínua
|
|
13
|
-
- [Adicionado] Estrutura inicial do projeto
|
|
14
7
|
|
|
15
8
|
## Informações adicionais
|
|
16
9
|
- Todas as mudanças notáveis neste projeto serão documentadas neste arquivo.
|
|
17
10
|
- Este projeto adere a [Semantic Versioning](http://semver.org/) e às guidelines [Keep-a-Changelog](https://github.com/olivierlacan/keep-a-changelog).
|
|
18
|
-
- [Adicionado] Para novas funcionalidades
|
|
19
|
-
- [Modificado] Para mudanças nas funcionalidades existentes.
|
|
20
|
-
- [Deprecado] Para funcionalidades que serão removidas no futuro.
|
|
21
|
-
- [Removido] Para funcionalidades removidas.
|
|
22
|
-
- [Corrigido] Para quaisquer correções de bugs.
|
|
23
|
-
- [Segurança] Para correções de vulnerabilidades.
|
data/bin/console
CHANGED
data/br_invoices_pdf.gemspec
CHANGED
|
@@ -6,8 +6,12 @@ require 'br_invoices_pdf/version'
|
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |spec|
|
|
8
8
|
spec.name = 'br_invoices_pdf'
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
spec.version = BrInvoicesPdf::VERSION
|
|
10
|
+
if ENV['SEMAPHORE'] && ENV['PRE_RELEASE']
|
|
11
|
+
spec.version = "#{BrInvoicesPdf::VERSION}.alpha.#{ENV['SEMAPHORE_DEPLOY_NUMBER']}"
|
|
12
|
+
else
|
|
13
|
+
spec.version = BrInvoicesPdf::VERSION
|
|
14
|
+
end
|
|
11
15
|
spec.authors = ['Thiago Ribeiro', 'Gabriel Teles']
|
|
12
16
|
spec.email = ['thiago@pdvend.com.br', 'gabriel@pdvend.com.br']
|
|
13
17
|
|
|
@@ -26,10 +30,9 @@ Gem::Specification.new do |spec|
|
|
|
26
30
|
spec.add_dependency 'ox', '~> 2.5.0'
|
|
27
31
|
|
|
28
32
|
spec.add_development_dependency 'bundler', '~> 1.13'
|
|
29
|
-
spec.add_development_dependency 'rake', '~>
|
|
33
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
|
30
34
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
31
35
|
spec.add_development_dependency 'simplecov', '~> 0.14'
|
|
32
36
|
spec.add_development_dependency 'coveralls'
|
|
33
|
-
|
|
34
|
-
spec.add_development_dependency 'reek'
|
|
37
|
+
|
|
35
38
|
end
|
data/lib/br_invoices_pdf.rb
CHANGED
|
@@ -1,33 +1,4 @@
|
|
|
1
|
-
require 'ox'
|
|
2
|
-
require 'prawn'
|
|
3
|
-
|
|
4
1
|
require 'br_invoices_pdf/version'
|
|
5
|
-
require 'br_invoices_pdf/generator'
|
|
6
|
-
require 'br_invoices_pdf/errors/invalid_document_type'
|
|
7
2
|
|
|
8
3
|
module BrInvoicesPdf
|
|
9
|
-
@generators = {}
|
|
10
|
-
|
|
11
|
-
module_function
|
|
12
|
-
|
|
13
|
-
def generate(type, xml, options = {})
|
|
14
|
-
generator = @generators[type]
|
|
15
|
-
raise(Errors::InvalidDocumentType, type) unless generator
|
|
16
|
-
generator.generate(xml, options)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def register(type, renderer, parser)
|
|
20
|
-
raise(ArgumentError, "Expected Symbol or String to type. Received #{type.class}") unless valid_type?(type)
|
|
21
|
-
@generators[type.to_sym] = Generator.new(renderer, parser)
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def supported_document_types
|
|
25
|
-
@generators.keys
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def valid_type?(type)
|
|
29
|
-
type.is_a?(String) || type.is_a?(Symbol)
|
|
30
|
-
end
|
|
31
4
|
end
|
|
32
|
-
|
|
33
|
-
require 'br_invoices_pdf/cfe'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: br_invoices_pdf
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.5
|
|
4
|
+
version: 0.1.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Thiago Ribeiro
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: exe
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2017-06-
|
|
12
|
+
date: 2017-06-29 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: prawn
|
|
@@ -59,14 +59,14 @@ dependencies:
|
|
|
59
59
|
requirements:
|
|
60
60
|
- - "~>"
|
|
61
61
|
- !ruby/object:Gem::Version
|
|
62
|
-
version: '
|
|
62
|
+
version: '10.0'
|
|
63
63
|
type: :development
|
|
64
64
|
prerelease: false
|
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
|
66
66
|
requirements:
|
|
67
67
|
- - "~>"
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: '
|
|
69
|
+
version: '10.0'
|
|
70
70
|
- !ruby/object:Gem::Dependency
|
|
71
71
|
name: rspec
|
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -109,34 +109,6 @@ dependencies:
|
|
|
109
109
|
- - ">="
|
|
110
110
|
- !ruby/object:Gem::Version
|
|
111
111
|
version: '0'
|
|
112
|
-
- !ruby/object:Gem::Dependency
|
|
113
|
-
name: rubocop
|
|
114
|
-
requirement: !ruby/object:Gem::Requirement
|
|
115
|
-
requirements:
|
|
116
|
-
- - ">="
|
|
117
|
-
- !ruby/object:Gem::Version
|
|
118
|
-
version: '0'
|
|
119
|
-
type: :development
|
|
120
|
-
prerelease: false
|
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
122
|
-
requirements:
|
|
123
|
-
- - ">="
|
|
124
|
-
- !ruby/object:Gem::Version
|
|
125
|
-
version: '0'
|
|
126
|
-
- !ruby/object:Gem::Dependency
|
|
127
|
-
name: reek
|
|
128
|
-
requirement: !ruby/object:Gem::Requirement
|
|
129
|
-
requirements:
|
|
130
|
-
- - ">="
|
|
131
|
-
- !ruby/object:Gem::Version
|
|
132
|
-
version: '0'
|
|
133
|
-
type: :development
|
|
134
|
-
prerelease: false
|
|
135
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
136
|
-
requirements:
|
|
137
|
-
- - ">="
|
|
138
|
-
- !ruby/object:Gem::Version
|
|
139
|
-
version: '0'
|
|
140
112
|
description:
|
|
141
113
|
email:
|
|
142
114
|
- thiago@pdvend.com.br
|
|
@@ -148,7 +120,6 @@ files:
|
|
|
148
120
|
- ".coveralls.yml"
|
|
149
121
|
- ".gitignore"
|
|
150
122
|
- ".reek"
|
|
151
|
-
- ".rspec"
|
|
152
123
|
- ".rubocop.yml"
|
|
153
124
|
- CHANGELOG.md
|
|
154
125
|
- CODE_OF_CONDUCT.md
|
|
@@ -160,11 +131,6 @@ files:
|
|
|
160
131
|
- bin/setup
|
|
161
132
|
- br_invoices_pdf.gemspec
|
|
162
133
|
- lib/br_invoices_pdf.rb
|
|
163
|
-
- lib/br_invoices_pdf/cfe.rb
|
|
164
|
-
- lib/br_invoices_pdf/cfe/parser.rb
|
|
165
|
-
- lib/br_invoices_pdf/cfe/renderer.rb
|
|
166
|
-
- lib/br_invoices_pdf/errors/invalid_document_type.rb
|
|
167
|
-
- lib/br_invoices_pdf/generator.rb
|
|
168
134
|
- lib/br_invoices_pdf/version.rb
|
|
169
135
|
homepage: https://github.com/pdvend/br_invoices_pdf
|
|
170
136
|
licenses:
|
|
@@ -181,9 +147,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
181
147
|
version: '0'
|
|
182
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
183
149
|
requirements:
|
|
184
|
-
- - "
|
|
150
|
+
- - ">="
|
|
185
151
|
- !ruby/object:Gem::Version
|
|
186
|
-
version:
|
|
152
|
+
version: '0'
|
|
187
153
|
requirements: []
|
|
188
154
|
rubyforge_project:
|
|
189
155
|
rubygems_version: 2.4.8
|
data/.rspec
DELETED
data/lib/br_invoices_pdf/cfe.rb
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module BrInvoicesPdf
|
|
2
|
-
module Cfe
|
|
3
|
-
module Parser
|
|
4
|
-
module_function
|
|
5
|
-
|
|
6
|
-
# atributos
|
|
7
|
-
# company_name -> emit,xNome
|
|
8
|
-
# trading_name -> emit,xFant
|
|
9
|
-
# company_address -> emit,enderEmit
|
|
10
|
-
# city -> emit,enderEmit
|
|
11
|
-
# company_state -> ?
|
|
12
|
-
# company_zipcode -> emit,enderEmit,CEP
|
|
13
|
-
# cnpj -> ide,Cnpj
|
|
14
|
-
# IE (numero do estado) -> emit,IE
|
|
15
|
-
# cfe_number -> ide,NFCE
|
|
16
|
-
# cpf -> ide,NFCE
|
|
17
|
-
|
|
18
|
-
def parse(_xml)
|
|
19
|
-
# Retornar uma hash com todos os atributos necessarios
|
|
20
|
-
{
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
end
|
|
26
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
module BrInvoicesPdf
|
|
2
|
-
module Errors
|
|
3
|
-
class InvalidDocumentType < StandardError
|
|
4
|
-
attr_reader :type
|
|
5
|
-
|
|
6
|
-
def initialize(type)
|
|
7
|
-
super("`#{type.inspect}` is not supported. Must be one of #{BrInvoicesPdf.supported_document_types}")
|
|
8
|
-
@type = type
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
module BrInvoicesPdf
|
|
2
|
-
class Generator
|
|
3
|
-
PDF_OPTIONS = { page_size: 'A4', margin: [40, 75] }.freeze
|
|
4
|
-
|
|
5
|
-
def initialize(renderer, parser)
|
|
6
|
-
@renderer = renderer
|
|
7
|
-
@parser = parser
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
def generate(xml, options)
|
|
11
|
-
parsed_xml = Ox.parse(xml)
|
|
12
|
-
data = @parser.parse(parsed_xml)
|
|
13
|
-
opts = PDF_OPTIONS.merge(options)
|
|
14
|
-
@renderer.pdf(data, opts).render
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|