br_danfe 1.2.3 → 2.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 +4 -4
- data/.github/workflows/config.yml +2 -2
- data/Gemfile +14 -0
- data/Gemfile.lock +41 -27
- data/br_danfe.gemspec +1 -12
- data/lib/br_danfe/cce_lib/document.rb +2 -2
- data/lib/br_danfe/danfe_lib/nfce_lib/document.rb +2 -2
- data/lib/br_danfe/danfe_lib/nfce_lib/header.rb +1 -1
- data/lib/br_danfe/danfe_lib/nfe_lib/document.rb +4 -4
- data/lib/br_danfe/danfe_lib/nfe_lib/infadic.rb +1 -1
- data/lib/br_danfe/document_builder.rb +2 -2
- data/lib/br_danfe/logo_options.rb +1 -1
- data/lib/br_danfe/mdfe_lib/document.rb +2 -2
- data/lib/br_danfe/version.rb +1 -1
- data/lib/br_danfe.rb +1 -1
- data/lib/prawn/font.rb +1 -1
- data/spec/br_danfe/cce_lib/barcode_spec.rb +1 -1
- data/spec/br_danfe/cce_lib/correction_spec.rb +1 -1
- data/spec/br_danfe/cce_lib/document_spec.rb +7 -7
- data/spec/br_danfe/cce_lib/footer_spec.rb +1 -1
- data/spec/br_danfe/cce_lib/header_spec.rb +1 -1
- data/spec/br_danfe/cce_lib/nfe_key_spec.rb +1 -1
- data/spec/br_danfe/cce_lib/protocol_spec.rb +1 -1
- data/spec/br_danfe/cce_spec.rb +2 -2
- data/spec/br_danfe/danfe_lib/nfce_lib/document_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfce_lib/footer_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfce_lib/header_spec.rb +2 -2
- data/spec/br_danfe/danfe_lib/nfce_lib/key_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfce_lib/nfce_identification_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfce_lib/product_list_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfce_lib/recipient_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfce_lib/total_list_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfce_spec.rb +3 -3
- data/spec/br_danfe/danfe_lib/nfe_lib/dest_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfe_lib/det_body_spec.rb +8 -8
- data/spec/br_danfe/danfe_lib/nfe_lib/document_spec.rb +2 -2
- data/spec/br_danfe/danfe_lib/nfe_lib/dup_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfe_lib/emit_header_spec.rb +3 -3
- data/spec/br_danfe/danfe_lib/nfe_lib/entrega_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfe_lib/icmstot_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfe_lib/infadic_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfe_lib/infadic_vol_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfe_lib/ticket_spec.rb +3 -3
- data/spec/br_danfe/danfe_lib/nfe_lib/transp_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfe_lib/vol_spec.rb +1 -1
- data/spec/br_danfe/danfe_lib/nfe_spec.rb +6 -6
- data/spec/br_danfe/mdfe_lib/fisco_control_spec.rb +1 -1
- data/spec/br_danfe/mdfe_lib/header_spec.rb +1 -1
- data/spec/br_danfe/mdfe_lib/notes_spec.rb +1 -1
- data/spec/br_danfe/mdfe_spec.rb +2 -2
- data/spec/br_danfe/qr_code_spec.rb +1 -1
- metadata +4 -157
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6957c52fda8133d7dbb9ddf4ae9f29f20bb45bb6ec41127c546ae93bd2221f2c
|
4
|
+
data.tar.gz: 2b5031a95eb542e75f457723dee23d193f8f3407d22ba26dd85ded6400f55c35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ec5cf3a1c2ded1acc9c010c440328052a6a9660f1aaddd0bf1dcd1b1ea7ddd42f356ca433462743bb2f5443d75fd383f91d8aba8437f8fbc183f24c78a4f017
|
7
|
+
data.tar.gz: 49b1f817299513b9ba693b2b19bb0d23971578c433193e980824046ae9900a69d63207b422f93046d9c68dba14874a9414c8e8039598baf6c478fce8f384cc9f
|
@@ -7,7 +7,7 @@ jobs:
|
|
7
7
|
strategy:
|
8
8
|
fail-fast: false # I understand this is to run on all versions.
|
9
9
|
matrix:
|
10
|
-
ruby: ['3.
|
10
|
+
ruby: ['3.3.5']
|
11
11
|
|
12
12
|
runs-on: ubuntu-latest
|
13
13
|
|
@@ -25,7 +25,7 @@ jobs:
|
|
25
25
|
strategy:
|
26
26
|
fail-fast: false # I understand this is to run on all versions.
|
27
27
|
matrix:
|
28
|
-
ruby: ['3.
|
28
|
+
ruby: ['3.3.5']
|
29
29
|
|
30
30
|
runs-on: ubuntu-latest
|
31
31
|
|
data/Gemfile
CHANGED
@@ -1,3 +1,17 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
gemspec
|
4
|
+
|
5
|
+
group :development, :test do
|
6
|
+
gem 'byebug', '11.1.3'
|
7
|
+
gem 'guard', '~> 2.19.0'
|
8
|
+
gem 'guard-rspec', '~> 4.7.3'
|
9
|
+
gem 'pdf-inspector', '~> 1.3.0'
|
10
|
+
gem 'rake', '13.2.1'
|
11
|
+
gem 'rspec', '3.13.0'
|
12
|
+
gem 'rubocop', '~> 1.75.3'
|
13
|
+
gem 'rubocop-performance', '~> 1.19.0'
|
14
|
+
gem 'rubocop-rspec', '~> 2.25.0'
|
15
|
+
gem 'simplecov', '0.22.0'
|
16
|
+
gem 'simplecov-html', '0.13.1'
|
17
|
+
end
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
br_danfe (
|
4
|
+
br_danfe (2.0.0)
|
5
5
|
barby (= 0.6.9)
|
6
6
|
br_documents (>= 0.1.3)
|
7
7
|
i18n (>= 0.8.6)
|
@@ -27,7 +27,7 @@ GEM
|
|
27
27
|
mutex_m
|
28
28
|
tzinfo (~> 2.0)
|
29
29
|
afm (0.2.2)
|
30
|
-
ast (2.4.
|
30
|
+
ast (2.4.3)
|
31
31
|
barby (0.6.9)
|
32
32
|
base64 (0.2.0)
|
33
33
|
bigdecimal (3.1.6)
|
@@ -62,6 +62,9 @@ GEM
|
|
62
62
|
hashery (2.1.2)
|
63
63
|
i18n (1.14.5)
|
64
64
|
concurrent-ruby (~> 1.0)
|
65
|
+
json (2.11.3)
|
66
|
+
language_server-protocol (3.17.0.4)
|
67
|
+
lint_roller (1.1.0)
|
65
68
|
listen (3.9.0)
|
66
69
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
67
70
|
rb-inotify (~> 0.9, >= 0.9.10)
|
@@ -78,9 +81,10 @@ GEM
|
|
78
81
|
notiffany (0.1.3)
|
79
82
|
nenv (~> 0.1)
|
80
83
|
shellany (~> 0.0)
|
81
|
-
parallel (1.
|
82
|
-
parser (3.
|
84
|
+
parallel (1.27.0)
|
85
|
+
parser (3.3.8.0)
|
83
86
|
ast (~> 2.4.1)
|
87
|
+
racc
|
84
88
|
pdf-core (0.10.0)
|
85
89
|
pdf-inspector (1.3.0)
|
86
90
|
pdf-reader (>= 1.0, < 3.0.a)
|
@@ -96,18 +100,17 @@ GEM
|
|
96
100
|
ttfunk (~> 1.8)
|
97
101
|
prawn-table (0.2.2)
|
98
102
|
prawn (>= 1.3.0, < 3.0.0)
|
103
|
+
prism (1.4.0)
|
99
104
|
pry (0.14.2)
|
100
105
|
coderay (~> 1.1)
|
101
106
|
method_source (~> 1.0)
|
102
107
|
racc (1.8.1)
|
103
|
-
rainbow (3.
|
108
|
+
rainbow (3.1.1)
|
104
109
|
rake (13.2.1)
|
105
110
|
rb-fsevent (0.11.2)
|
106
111
|
rb-inotify (0.11.1)
|
107
112
|
ffi (~> 1.0)
|
108
|
-
regexp_parser (2.
|
109
|
-
rexml (3.3.3)
|
110
|
-
strscan
|
113
|
+
regexp_parser (2.10.0)
|
111
114
|
rqrcode (2.2.0)
|
112
115
|
chunky_png (~> 1.0)
|
113
116
|
rqrcode_core (~> 1.0)
|
@@ -125,24 +128,34 @@ GEM
|
|
125
128
|
diff-lcs (>= 1.2.0, < 2.0)
|
126
129
|
rspec-support (~> 3.13.0)
|
127
130
|
rspec-support (3.13.1)
|
128
|
-
rubocop (
|
131
|
+
rubocop (1.75.3)
|
132
|
+
json (~> 2.3)
|
133
|
+
language_server-protocol (~> 3.17.0.2)
|
134
|
+
lint_roller (~> 1.1.0)
|
129
135
|
parallel (~> 1.10)
|
130
|
-
parser (>=
|
136
|
+
parser (>= 3.3.0.2)
|
131
137
|
rainbow (>= 2.2.2, < 4.0)
|
132
|
-
regexp_parser (>=
|
133
|
-
|
134
|
-
rubocop-ast (>= 0.6.0)
|
138
|
+
regexp_parser (>= 2.9.3, < 3.0)
|
139
|
+
rubocop-ast (>= 1.44.0, < 2.0)
|
135
140
|
ruby-progressbar (~> 1.7)
|
136
|
-
unicode-display_width (>=
|
137
|
-
rubocop-ast (1.
|
138
|
-
parser (>= 3.
|
139
|
-
|
140
|
-
|
141
|
+
unicode-display_width (>= 2.4.0, < 4.0)
|
142
|
+
rubocop-ast (1.44.1)
|
143
|
+
parser (>= 3.3.7.2)
|
144
|
+
prism (~> 1.4)
|
145
|
+
rubocop-capybara (2.22.1)
|
146
|
+
lint_roller (~> 1.1)
|
147
|
+
rubocop (~> 1.72, >= 1.72.1)
|
148
|
+
rubocop-factory_bot (2.27.1)
|
149
|
+
lint_roller (~> 1.1)
|
150
|
+
rubocop (~> 1.72, >= 1.72.1)
|
151
|
+
rubocop-performance (1.19.1)
|
152
|
+
rubocop (>= 1.7.0, < 2.0)
|
141
153
|
rubocop-ast (>= 0.4.0)
|
142
|
-
rubocop-rspec (
|
143
|
-
rubocop (~>
|
144
|
-
rubocop-
|
145
|
-
|
154
|
+
rubocop-rspec (2.25.0)
|
155
|
+
rubocop (~> 1.40)
|
156
|
+
rubocop-capybara (~> 2.17)
|
157
|
+
rubocop-factory_bot (~> 2.22)
|
158
|
+
ruby-progressbar (1.13.0)
|
146
159
|
ruby-rc4 (0.1.5)
|
147
160
|
ruby2_keywords (0.0.5)
|
148
161
|
shellany (0.0.1)
|
@@ -152,13 +165,14 @@ GEM
|
|
152
165
|
simplecov_json_formatter (~> 0.1)
|
153
166
|
simplecov-html (0.13.1)
|
154
167
|
simplecov_json_formatter (0.1.4)
|
155
|
-
strscan (3.1.0)
|
156
168
|
thor (1.3.2)
|
157
169
|
ttfunk (1.8.0)
|
158
170
|
bigdecimal (~> 3.1)
|
159
171
|
tzinfo (2.0.6)
|
160
172
|
concurrent-ruby (~> 1.0)
|
161
|
-
unicode-display_width (1.
|
173
|
+
unicode-display_width (3.1.4)
|
174
|
+
unicode-emoji (~> 4.0, >= 4.0.4)
|
175
|
+
unicode-emoji (4.0.4)
|
162
176
|
|
163
177
|
PLATFORMS
|
164
178
|
ruby
|
@@ -171,9 +185,9 @@ DEPENDENCIES
|
|
171
185
|
pdf-inspector (~> 1.3.0)
|
172
186
|
rake (= 13.2.1)
|
173
187
|
rspec (= 3.13.0)
|
174
|
-
rubocop (~>
|
175
|
-
rubocop-performance (~> 1.
|
176
|
-
rubocop-rspec (~>
|
188
|
+
rubocop (~> 1.75.3)
|
189
|
+
rubocop-performance (~> 1.19.0)
|
190
|
+
rubocop-rspec (~> 2.25.0)
|
177
191
|
simplecov (= 0.22.0)
|
178
192
|
simplecov-html (= 0.13.1)
|
179
193
|
|
data/br_danfe.gemspec
CHANGED
@@ -11,7 +11,6 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.license = 'MIT'
|
12
12
|
|
13
13
|
spec.files = `git ls-files`.split("\n")
|
14
|
-
spec.test_files = `git ls-files -- { test,spec,features }/*`.split("\n")
|
15
14
|
spec.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
16
15
|
spec.require_paths = ['lib']
|
17
16
|
spec.required_ruby_version = '>= 3.0'
|
@@ -24,15 +23,5 @@ Gem::Specification.new do |spec|
|
|
24
23
|
spec.add_dependency 'prawn-table', '0.2.2'
|
25
24
|
spec.add_dependency 'rqrcode', '>= 2.1', '< 2.3'
|
26
25
|
|
27
|
-
spec.
|
28
|
-
spec.add_development_dependency 'guard', '~> 2.19.0'
|
29
|
-
spec.add_development_dependency 'guard-rspec', '~> 4.7.3'
|
30
|
-
spec.add_development_dependency 'pdf-inspector', '~> 1.3.0'
|
31
|
-
spec.add_development_dependency 'rake', '13.2.1'
|
32
|
-
spec.add_development_dependency 'rspec', '3.13.0'
|
33
|
-
spec.add_development_dependency 'rubocop', '~> 0.93.1'
|
34
|
-
spec.add_development_dependency 'rubocop-performance', '~> 1.10.2'
|
35
|
-
spec.add_development_dependency 'rubocop-rspec', '~> 1.44.1'
|
36
|
-
spec.add_development_dependency 'simplecov', '0.22.0'
|
37
|
-
spec.add_development_dependency 'simplecov-html', '0.13.1'
|
26
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
38
27
|
end
|
@@ -15,9 +15,9 @@ module BrDanfe
|
|
15
15
|
@document.line_width = 0.3
|
16
16
|
end
|
17
17
|
|
18
|
-
def method_missing(method_name,
|
18
|
+
def method_missing(method_name, ...)
|
19
19
|
if @document.respond_to? method_name
|
20
|
-
@document.send
|
20
|
+
@document.send(method_name, ...)
|
21
21
|
else
|
22
22
|
super
|
23
23
|
end
|
@@ -20,9 +20,9 @@ module BrDanfe
|
|
20
20
|
@document.text ' ', size: font_size
|
21
21
|
end
|
22
22
|
|
23
|
-
def method_missing(method_name,
|
23
|
+
def method_missing(method_name, ...)
|
24
24
|
if @document.respond_to? method_name
|
25
|
-
@document.send
|
25
|
+
@document.send(method_name, ...)
|
26
26
|
else
|
27
27
|
super
|
28
28
|
end
|
@@ -24,7 +24,7 @@ module BrDanfe
|
|
24
24
|
def render_company_info
|
25
25
|
one_line = 1
|
26
26
|
|
27
|
-
@pdf.text_box
|
27
|
+
@pdf.text_box @xml['emit/xNome'].to_s, at: [x_position, @pdf.cursor], height: 36, size: 9, align: :left, style: :bold, overflow: :shrink_to_fit
|
28
28
|
@pdf.move_down 36
|
29
29
|
|
30
30
|
@pdf.text_box cnpj(@xml['emit/CNPJ']), at: [x_position, @pdf.cursor], height: 9, size: 9, align: :left, overflow: :shrink_to_fit
|
@@ -17,9 +17,9 @@ module BrDanfe
|
|
17
17
|
@document.line_width = 0.3
|
18
18
|
end
|
19
19
|
|
20
|
-
def method_missing(method_name,
|
20
|
+
def method_missing(method_name, ...)
|
21
21
|
if @document.respond_to? method_name
|
22
|
-
@document.send
|
22
|
+
@document.send(method_name, ...)
|
23
23
|
else
|
24
24
|
super
|
25
25
|
end
|
@@ -97,12 +97,12 @@ module BrDanfe
|
|
97
97
|
end
|
98
98
|
|
99
99
|
def inumeric(h, w, x, y, i18n = '', data = '', options = {})
|
100
|
-
label = i18n
|
100
|
+
label = i18n == '' ? '' : I18n.t("danfe.#{i18n}")
|
101
101
|
numeric [x.cm, Helper.invert(y.cm)], w.cm, h.cm, label, data, options
|
102
102
|
end
|
103
103
|
|
104
104
|
def i18n_lbox(h, w, x, y, i18n = '', info = '', options = {})
|
105
|
-
label = i18n
|
105
|
+
label = i18n == '' ? '' : I18n.t("danfe.#{i18n}")
|
106
106
|
ibox h, w, x, y, label, info, options
|
107
107
|
end
|
108
108
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module BrDanfe
|
2
2
|
class DocumentBuilder
|
3
|
-
def self.build(
|
4
|
-
document = Prawn::Document.new(
|
3
|
+
def self.build(...)
|
4
|
+
document = Prawn::Document.new(...)
|
5
5
|
|
6
6
|
document.font_families['tinos'] = {
|
7
7
|
bold: "#{BrDanfe.root_path}/fonts/tinos_bold.ttf",
|
@@ -10,9 +10,9 @@ module BrDanfe
|
|
10
10
|
@document.font 'tinos'
|
11
11
|
end
|
12
12
|
|
13
|
-
def method_missing(method_name,
|
13
|
+
def method_missing(method_name, ...)
|
14
14
|
if @document.respond_to? method_name
|
15
|
-
@document.send
|
15
|
+
@document.send(method_name, ...)
|
16
16
|
else
|
17
17
|
super
|
18
18
|
end
|
data/lib/br_danfe/version.rb
CHANGED
data/lib/br_danfe.rb
CHANGED
@@ -9,7 +9,7 @@ require 'yaml'
|
|
9
9
|
require 'i18n'
|
10
10
|
require 'br_documents'
|
11
11
|
|
12
|
-
Dir["#{File.dirname(__FILE__)}/**/*.rb"].sort.each { |f| require f }
|
12
|
+
Dir["#{File.dirname(__FILE__)}/**/*.rb"].sort.each { |f| require f } # rubocop:disable Lint/RedundantDirGlobSort
|
13
13
|
|
14
14
|
I18n.load_path << File.expand_path('../config/locales/pt-BR.yml', __dir__)
|
15
15
|
I18n.available_locales = ['pt-BR']
|
data/lib/prawn/font.rb
CHANGED
@@ -7,7 +7,7 @@ describe BrDanfe::CceLib::Document do
|
|
7
7
|
describe '#box' do
|
8
8
|
context "when a block isn't passed" do
|
9
9
|
before do
|
10
|
-
|
10
|
+
FileUtils.rm_f(output_pdf)
|
11
11
|
subject.box(height: 50)
|
12
12
|
end
|
13
13
|
|
@@ -22,7 +22,7 @@ describe BrDanfe::CceLib::Document do
|
|
22
22
|
|
23
23
|
context 'when a block is passed' do
|
24
24
|
before do
|
25
|
-
|
25
|
+
FileUtils.rm_f(output_pdf)
|
26
26
|
subject.box(height: 50) { subject.text 'sample text' }
|
27
27
|
end
|
28
28
|
|
@@ -39,7 +39,7 @@ describe BrDanfe::CceLib::Document do
|
|
39
39
|
describe '#text' do
|
40
40
|
context 'when is a simple text' do
|
41
41
|
before do
|
42
|
-
|
42
|
+
FileUtils.rm_f(output_pdf)
|
43
43
|
subject.text 'simple text'
|
44
44
|
end
|
45
45
|
|
@@ -54,7 +54,7 @@ describe BrDanfe::CceLib::Document do
|
|
54
54
|
|
55
55
|
context 'when is a text with style' do
|
56
56
|
before do
|
57
|
-
|
57
|
+
FileUtils.rm_f(output_pdf)
|
58
58
|
subject.text 'bold text', style: :bold
|
59
59
|
end
|
60
60
|
|
@@ -69,7 +69,7 @@ describe BrDanfe::CceLib::Document do
|
|
69
69
|
|
70
70
|
context 'when is a text with size' do
|
71
71
|
before do
|
72
|
-
|
72
|
+
FileUtils.rm_f(output_pdf)
|
73
73
|
subject.text 'big text', size: 25
|
74
74
|
end
|
75
75
|
|
@@ -84,7 +84,7 @@ describe BrDanfe::CceLib::Document do
|
|
84
84
|
|
85
85
|
context 'when is a text with pad' do
|
86
86
|
before do
|
87
|
-
|
87
|
+
FileUtils.rm_f(output_pdf)
|
88
88
|
subject.text 'text with pad', pad: 50
|
89
89
|
end
|
90
90
|
|
@@ -99,7 +99,7 @@ describe BrDanfe::CceLib::Document do
|
|
99
99
|
|
100
100
|
context 'when is a text with align' do
|
101
101
|
before do
|
102
|
-
|
102
|
+
FileUtils.rm_f(output_pdf)
|
103
103
|
subject.text 'text in center', align: :center
|
104
104
|
end
|
105
105
|
|
data/spec/br_danfe/cce_spec.rb
CHANGED
@@ -8,14 +8,14 @@ describe BrDanfe::Cce do
|
|
8
8
|
|
9
9
|
describe '#render_pdf' do
|
10
10
|
it 'renders the correction letter' do
|
11
|
-
expected =
|
11
|
+
expected = File.binread("#{base_dir}cce.fixture.pdf")
|
12
12
|
|
13
13
|
expect(subject.render_pdf).to eq expected
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
17
|
describe '#save_pdf' do
|
18
|
-
before {
|
18
|
+
before { FileUtils.rm_f(output_pdf) }
|
19
19
|
|
20
20
|
it 'saves the pdf' do
|
21
21
|
expect(File.exist?(output_pdf)).to be_falsey
|
@@ -6,7 +6,7 @@ describe BrDanfe::DanfeLib::NfceLib::ProductList do
|
|
6
6
|
|
7
7
|
let(:subject) { BrDanfe::DanfeLib::NfceLib::Document.new(8.cm, 1.8.cm) }
|
8
8
|
|
9
|
-
before {
|
9
|
+
before { FileUtils.rm_f(output_pdf) }
|
10
10
|
|
11
11
|
it 'render the document with blank lines' do
|
12
12
|
expect(File.exist?(output_pdf)).to be_falsey
|
@@ -27,7 +27,7 @@ describe BrDanfe::DanfeLib::NfceLib::Footer do
|
|
27
27
|
subject { described_class.new pdf, xml_footer }
|
28
28
|
|
29
29
|
describe '#render' do
|
30
|
-
before {
|
30
|
+
before { FileUtils.rm_f(output_pdf) }
|
31
31
|
|
32
32
|
it 'renders footer to the pdf' do
|
33
33
|
subject.render
|
@@ -49,10 +49,10 @@ describe BrDanfe::DanfeLib::NfceLib::Header do
|
|
49
49
|
describe '#render' do
|
50
50
|
before do
|
51
51
|
subject.render
|
52
|
-
|
52
|
+
FileUtils.rm_f(output_pdf)
|
53
53
|
end
|
54
54
|
|
55
|
-
after {
|
55
|
+
after { FileUtils.rm_f(output_pdf) }
|
56
56
|
|
57
57
|
context 'when has a short name' do
|
58
58
|
let(:company_name) { 'Test company' }
|
@@ -14,15 +14,15 @@ describe BrDanfe::DanfeLib::Nfce do
|
|
14
14
|
|
15
15
|
describe '#render_pdf' do
|
16
16
|
it 'renders the NFC-e pdf' do
|
17
|
-
expected =
|
17
|
+
expected = File.binread("#{base_dir}rendered_nfce.fixture.pdf")
|
18
18
|
|
19
19
|
expect(subject.render_pdf).to eq expected
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
23
|
describe '#save_pdf' do
|
24
|
-
before {
|
25
|
-
after {
|
24
|
+
before { FileUtils.rm_f(output_pdf) }
|
25
|
+
after { FileUtils.rm_f(output_pdf) }
|
26
26
|
|
27
27
|
it 'saves the NFC-e as pdf' do
|
28
28
|
expect(File.exist?(output_pdf)).to be_falsey
|
@@ -17,7 +17,7 @@ describe BrDanfe::DanfeLib::NfeLib::DetBody do
|
|
17
17
|
XML
|
18
18
|
end
|
19
19
|
|
20
|
-
let(:
|
20
|
+
let(:product1) do
|
21
21
|
<<~XML
|
22
22
|
<det nItem="1">
|
23
23
|
<prod>
|
@@ -34,7 +34,7 @@ describe BrDanfe::DanfeLib::NfeLib::DetBody do
|
|
34
34
|
XML
|
35
35
|
end
|
36
36
|
|
37
|
-
let(:
|
37
|
+
let(:product2) do
|
38
38
|
<<~XML
|
39
39
|
<det nItem="2">
|
40
40
|
<prod>
|
@@ -59,7 +59,7 @@ describe BrDanfe::DanfeLib::NfeLib::DetBody do
|
|
59
59
|
describe '#render' do
|
60
60
|
before do
|
61
61
|
subject.render has_issqn
|
62
|
-
|
62
|
+
FileUtils.rm_f(output_pdf)
|
63
63
|
end
|
64
64
|
|
65
65
|
context 'with CSOSN' do
|
@@ -383,7 +383,7 @@ describe BrDanfe::DanfeLib::NfeLib::DetBody do
|
|
383
383
|
|
384
384
|
context 'when there is ISSQN' do
|
385
385
|
let(:has_issqn) { true }
|
386
|
-
let(:products) { "#{
|
386
|
+
let(:products) { "#{product1}\n#{product2}" * 10 }
|
387
387
|
|
388
388
|
it 'renders xml to the pdf' do
|
389
389
|
expect(File.exist?(output_pdf)).to be_falsey
|
@@ -395,7 +395,7 @@ describe BrDanfe::DanfeLib::NfeLib::DetBody do
|
|
395
395
|
end
|
396
396
|
|
397
397
|
context "when there isn't ISSQN" do
|
398
|
-
let(:products) { "#{
|
398
|
+
let(:products) { "#{product1}\n#{product2}" * 10 }
|
399
399
|
|
400
400
|
it 'renders xml to the pdf' do
|
401
401
|
expect(File.exist?(output_pdf)).to be_falsey
|
@@ -407,7 +407,7 @@ describe BrDanfe::DanfeLib::NfeLib::DetBody do
|
|
407
407
|
end
|
408
408
|
|
409
409
|
context 'with infAdProd' do
|
410
|
-
let(:products) {
|
410
|
+
let(:products) { product2.to_s }
|
411
411
|
|
412
412
|
it 'renders xml to the pdf' do
|
413
413
|
expect(File.exist?(output_pdf)).to be_falsey
|
@@ -493,7 +493,7 @@ describe BrDanfe::DanfeLib::NfeLib::DetBody do
|
|
493
493
|
|
494
494
|
context 'when the product table occupies more than one page' do
|
495
495
|
context 'when the product table occupies two pages' do
|
496
|
-
let(:products) { ("#{
|
496
|
+
let(:products) { ("#{product1}\n#{product2}" * 22) + "\n#{product1}" }
|
497
497
|
|
498
498
|
it 'renders xml to the pdf' do
|
499
499
|
expect(File.exist?(output_pdf)).to be_falsey
|
@@ -505,7 +505,7 @@ describe BrDanfe::DanfeLib::NfeLib::DetBody do
|
|
505
505
|
end
|
506
506
|
|
507
507
|
context 'when the product table occupies three pages' do
|
508
|
-
let(:products) { ("#{
|
508
|
+
let(:products) { ("#{product1}\n#{product2}" * 23) }
|
509
509
|
|
510
510
|
it 'renders xml to the pdf' do
|
511
511
|
expect(File.exist?(output_pdf)).to be_falsey
|
@@ -9,7 +9,7 @@ describe BrDanfe::DanfeLib::NfeLib::Document do
|
|
9
9
|
describe '#lie' do
|
10
10
|
before do
|
11
11
|
subject.render
|
12
|
-
|
12
|
+
FileUtils.rm_f(output_pdf)
|
13
13
|
end
|
14
14
|
|
15
15
|
context 'when IE is valid' do
|
@@ -117,7 +117,7 @@ describe BrDanfe::DanfeLib::NfeLib::Document do
|
|
117
117
|
describe '#lcnpj' do
|
118
118
|
before do
|
119
119
|
subject.render
|
120
|
-
|
120
|
+
FileUtils.rm_f(output_pdf)
|
121
121
|
end
|
122
122
|
|
123
123
|
context 'when CNPJ is valid' do
|
@@ -62,7 +62,7 @@ describe BrDanfe::DanfeLib::NfeLib::EmitHeader do
|
|
62
62
|
|
63
63
|
it 'renders only the nfe key' do
|
64
64
|
subject.render 2, 1.85, 2
|
65
|
-
|
65
|
+
FileUtils.rm_f(output_pdf)
|
66
66
|
|
67
67
|
pdf.render_file output_pdf
|
68
68
|
|
@@ -72,7 +72,7 @@ describe BrDanfe::DanfeLib::NfeLib::EmitHeader do
|
|
72
72
|
context 'render emitter on first page' do
|
73
73
|
before do
|
74
74
|
subject.render 1, 3.96, 1
|
75
|
-
|
75
|
+
FileUtils.rm_f(output_pdf)
|
76
76
|
end
|
77
77
|
|
78
78
|
context 'with logo' do
|
@@ -101,7 +101,7 @@ describe BrDanfe::DanfeLib::NfeLib::EmitHeader do
|
|
101
101
|
context 'render emitter on second page' do
|
102
102
|
before do
|
103
103
|
subject.render 2, 1.85, 2
|
104
|
-
|
104
|
+
FileUtils.rm_f(output_pdf)
|
105
105
|
end
|
106
106
|
|
107
107
|
context 'with logo' do
|
@@ -11,7 +11,7 @@ describe BrDanfe::DanfeLib::NfeLib::Entrega do
|
|
11
11
|
describe '#render' do
|
12
12
|
before do
|
13
13
|
subject.render
|
14
|
-
|
14
|
+
FileUtils.rm_f(path_of_expected_pdf)
|
15
15
|
end
|
16
16
|
|
17
17
|
context "when nf-e's version is 2.00" do
|
@@ -38,7 +38,7 @@ describe BrDanfe::DanfeLib::NfeLib::Ticket do
|
|
38
38
|
|
39
39
|
before do
|
40
40
|
subject.render
|
41
|
-
|
41
|
+
FileUtils.rm_f(output_pdf)
|
42
42
|
end
|
43
43
|
|
44
44
|
it 'renders xml to the pdf' do
|
@@ -81,7 +81,7 @@ describe BrDanfe::DanfeLib::NfeLib::Ticket do
|
|
81
81
|
|
82
82
|
before do
|
83
83
|
subject.render
|
84
|
-
|
84
|
+
FileUtils.rm_f(output_pdf)
|
85
85
|
end
|
86
86
|
|
87
87
|
it 'renders xml to the pdf' do
|
@@ -124,7 +124,7 @@ describe BrDanfe::DanfeLib::NfeLib::Ticket do
|
|
124
124
|
|
125
125
|
before do
|
126
126
|
subject.render
|
127
|
-
|
127
|
+
FileUtils.rm_f(output_pdf)
|
128
128
|
end
|
129
129
|
|
130
130
|
it 'renders xml to the pdf' do
|
@@ -2,7 +2,7 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe BrDanfe::DanfeLib::Nfe do
|
4
4
|
let(:output_pdf) { "#{base_dir}output.pdf" }
|
5
|
-
let(:xml_file) {}
|
5
|
+
let(:xml_file) {} # rubocop:disable Lint/EmptyBlock
|
6
6
|
let(:xml) { BrDanfe::XML.new(xml_file) }
|
7
7
|
|
8
8
|
subject { described_class.new [xml] }
|
@@ -12,7 +12,7 @@ describe BrDanfe::DanfeLib::Nfe do
|
|
12
12
|
let(:xml_file) { File.read("#{base_dir}nfe_simples_nacional.xml") }
|
13
13
|
|
14
14
|
it 'renders a Simples Nacional NF-e using CSOSN' do
|
15
|
-
expected =
|
15
|
+
expected = File.binread("#{base_dir}nfe_simples_nacional.xml.fixture.pdf")
|
16
16
|
expect(subject.render_pdf).to eq expected
|
17
17
|
end
|
18
18
|
end
|
@@ -22,7 +22,7 @@ describe BrDanfe::DanfeLib::Nfe do
|
|
22
22
|
let(:base_dir) { './spec/fixtures/nfe/v2.00/' }
|
23
23
|
let(:xml_file) { File.read("#{base_dir}custom_options.fixture.xml") }
|
24
24
|
|
25
|
-
before {
|
25
|
+
before { FileUtils.rm_f(output_pdf) }
|
26
26
|
|
27
27
|
it 'render a NF-e with customized options' do
|
28
28
|
expect(File.exist?(output_pdf)).to be_falsey
|
@@ -39,7 +39,7 @@ describe BrDanfe::DanfeLib::Nfe do
|
|
39
39
|
let(:base_dir) { './spec/fixtures/nfe/v2.00/' }
|
40
40
|
let(:xml_file) { File.read("#{base_dir}nfe_with_ns.xml") }
|
41
41
|
|
42
|
-
before {
|
42
|
+
before { FileUtils.rm_f(output_pdf) }
|
43
43
|
|
44
44
|
it 'renders a basic NF-e with namespace' do
|
45
45
|
expect(File.exist?(output_pdf)).to be_falsey
|
@@ -108,7 +108,7 @@ describe BrDanfe::DanfeLib::Nfe do
|
|
108
108
|
let(:base_dir) { './spec/fixtures/nfe/v3.10/' }
|
109
109
|
let(:xml_file) { File.read("#{base_dir}nfe_simples_nacional.xml") }
|
110
110
|
|
111
|
-
before {
|
111
|
+
before { FileUtils.rm_f(output_pdf) }
|
112
112
|
|
113
113
|
it 'renders a Simples Nacional NF-e using CSOSN' do
|
114
114
|
expect(File.exist?(output_pdf)).to be_falsey
|
@@ -168,7 +168,7 @@ describe BrDanfe::DanfeLib::Nfe do
|
|
168
168
|
let(:base_dir) { './spec/fixtures/nfe/v3.10/' }
|
169
169
|
let(:xml_file) { File.read("#{base_dir}nfe_simples_nacional.xml") }
|
170
170
|
|
171
|
-
before {
|
171
|
+
before { FileUtils.rm_f(output_pdf) }
|
172
172
|
|
173
173
|
it 'renders multiple danfes on the same pdf' do
|
174
174
|
expect(File.exist?(output_pdf)).to be_falsey
|
@@ -57,7 +57,7 @@ describe BrDanfe::MdfeLib::Header do
|
|
57
57
|
let(:base_dir) { './spec/fixtures/mdfe/lib/' }
|
58
58
|
let(:output_pdf) { "#{base_dir}output.pdf" }
|
59
59
|
|
60
|
-
before {
|
60
|
+
before { FileUtils.rm_f(output_pdf) }
|
61
61
|
|
62
62
|
it 'generates the emitter informations' do
|
63
63
|
emitter_name = 'VENTURIM AGROCRIATIVA LTDA EPP'
|
@@ -37,7 +37,7 @@ describe BrDanfe::MdfeLib::Notes do
|
|
37
37
|
let(:base_dir) { './spec/fixtures/mdfe/lib/' }
|
38
38
|
let(:output_pdf) { "#{base_dir}output.pdf" }
|
39
39
|
|
40
|
-
before {
|
40
|
+
before { FileUtils.rm_f(output_pdf) }
|
41
41
|
|
42
42
|
it 'generates the title' do
|
43
43
|
title = 'Observações'
|
data/spec/br_danfe/mdfe_spec.rb
CHANGED
@@ -8,7 +8,7 @@ describe BrDanfe::Mdfe do
|
|
8
8
|
|
9
9
|
subject { described_class.new(xml) }
|
10
10
|
|
11
|
-
before {
|
11
|
+
before { FileUtils.rm_f(output_pdf) }
|
12
12
|
|
13
13
|
before do
|
14
14
|
subject.logo_options.logo_dimensions = { width: 100, height: 100 }
|
@@ -17,7 +17,7 @@ describe BrDanfe::Mdfe do
|
|
17
17
|
|
18
18
|
describe '#render_pdf' do
|
19
19
|
it 'renders the mdfe' do
|
20
|
-
expected =
|
20
|
+
expected = File.binread("#{base_dir}mdfe.fixture.pdf")
|
21
21
|
|
22
22
|
expect(subject.render_pdf).to eql expected
|
23
23
|
end
|
@@ -18,7 +18,7 @@ describe BrDanfe::QrCode do
|
|
18
18
|
subject { described_class.new(pdf: pdf, qr_code_tag: qr_code_url, box_size: 3.cm) }
|
19
19
|
|
20
20
|
describe '#render' do
|
21
|
-
before {
|
21
|
+
before { FileUtils.rm_f(output_pdf) }
|
22
22
|
|
23
23
|
it 'renders qr-code to the pdf' do
|
24
24
|
expect(File.exist?(output_pdf)).to be_falsey
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: br_danfe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ASSEINFO
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-04-
|
11
|
+
date: 2025-04-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: barby
|
@@ -114,160 +114,6 @@ dependencies:
|
|
114
114
|
- - "<"
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '2.3'
|
117
|
-
- !ruby/object:Gem::Dependency
|
118
|
-
name: byebug
|
119
|
-
requirement: !ruby/object:Gem::Requirement
|
120
|
-
requirements:
|
121
|
-
- - '='
|
122
|
-
- !ruby/object:Gem::Version
|
123
|
-
version: 11.1.3
|
124
|
-
type: :development
|
125
|
-
prerelease: false
|
126
|
-
version_requirements: !ruby/object:Gem::Requirement
|
127
|
-
requirements:
|
128
|
-
- - '='
|
129
|
-
- !ruby/object:Gem::Version
|
130
|
-
version: 11.1.3
|
131
|
-
- !ruby/object:Gem::Dependency
|
132
|
-
name: guard
|
133
|
-
requirement: !ruby/object:Gem::Requirement
|
134
|
-
requirements:
|
135
|
-
- - "~>"
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
version: 2.19.0
|
138
|
-
type: :development
|
139
|
-
prerelease: false
|
140
|
-
version_requirements: !ruby/object:Gem::Requirement
|
141
|
-
requirements:
|
142
|
-
- - "~>"
|
143
|
-
- !ruby/object:Gem::Version
|
144
|
-
version: 2.19.0
|
145
|
-
- !ruby/object:Gem::Dependency
|
146
|
-
name: guard-rspec
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
148
|
-
requirements:
|
149
|
-
- - "~>"
|
150
|
-
- !ruby/object:Gem::Version
|
151
|
-
version: 4.7.3
|
152
|
-
type: :development
|
153
|
-
prerelease: false
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
155
|
-
requirements:
|
156
|
-
- - "~>"
|
157
|
-
- !ruby/object:Gem::Version
|
158
|
-
version: 4.7.3
|
159
|
-
- !ruby/object:Gem::Dependency
|
160
|
-
name: pdf-inspector
|
161
|
-
requirement: !ruby/object:Gem::Requirement
|
162
|
-
requirements:
|
163
|
-
- - "~>"
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: 1.3.0
|
166
|
-
type: :development
|
167
|
-
prerelease: false
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
requirements:
|
170
|
-
- - "~>"
|
171
|
-
- !ruby/object:Gem::Version
|
172
|
-
version: 1.3.0
|
173
|
-
- !ruby/object:Gem::Dependency
|
174
|
-
name: rake
|
175
|
-
requirement: !ruby/object:Gem::Requirement
|
176
|
-
requirements:
|
177
|
-
- - '='
|
178
|
-
- !ruby/object:Gem::Version
|
179
|
-
version: 13.2.1
|
180
|
-
type: :development
|
181
|
-
prerelease: false
|
182
|
-
version_requirements: !ruby/object:Gem::Requirement
|
183
|
-
requirements:
|
184
|
-
- - '='
|
185
|
-
- !ruby/object:Gem::Version
|
186
|
-
version: 13.2.1
|
187
|
-
- !ruby/object:Gem::Dependency
|
188
|
-
name: rspec
|
189
|
-
requirement: !ruby/object:Gem::Requirement
|
190
|
-
requirements:
|
191
|
-
- - '='
|
192
|
-
- !ruby/object:Gem::Version
|
193
|
-
version: 3.13.0
|
194
|
-
type: :development
|
195
|
-
prerelease: false
|
196
|
-
version_requirements: !ruby/object:Gem::Requirement
|
197
|
-
requirements:
|
198
|
-
- - '='
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
version: 3.13.0
|
201
|
-
- !ruby/object:Gem::Dependency
|
202
|
-
name: rubocop
|
203
|
-
requirement: !ruby/object:Gem::Requirement
|
204
|
-
requirements:
|
205
|
-
- - "~>"
|
206
|
-
- !ruby/object:Gem::Version
|
207
|
-
version: 0.93.1
|
208
|
-
type: :development
|
209
|
-
prerelease: false
|
210
|
-
version_requirements: !ruby/object:Gem::Requirement
|
211
|
-
requirements:
|
212
|
-
- - "~>"
|
213
|
-
- !ruby/object:Gem::Version
|
214
|
-
version: 0.93.1
|
215
|
-
- !ruby/object:Gem::Dependency
|
216
|
-
name: rubocop-performance
|
217
|
-
requirement: !ruby/object:Gem::Requirement
|
218
|
-
requirements:
|
219
|
-
- - "~>"
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: 1.10.2
|
222
|
-
type: :development
|
223
|
-
prerelease: false
|
224
|
-
version_requirements: !ruby/object:Gem::Requirement
|
225
|
-
requirements:
|
226
|
-
- - "~>"
|
227
|
-
- !ruby/object:Gem::Version
|
228
|
-
version: 1.10.2
|
229
|
-
- !ruby/object:Gem::Dependency
|
230
|
-
name: rubocop-rspec
|
231
|
-
requirement: !ruby/object:Gem::Requirement
|
232
|
-
requirements:
|
233
|
-
- - "~>"
|
234
|
-
- !ruby/object:Gem::Version
|
235
|
-
version: 1.44.1
|
236
|
-
type: :development
|
237
|
-
prerelease: false
|
238
|
-
version_requirements: !ruby/object:Gem::Requirement
|
239
|
-
requirements:
|
240
|
-
- - "~>"
|
241
|
-
- !ruby/object:Gem::Version
|
242
|
-
version: 1.44.1
|
243
|
-
- !ruby/object:Gem::Dependency
|
244
|
-
name: simplecov
|
245
|
-
requirement: !ruby/object:Gem::Requirement
|
246
|
-
requirements:
|
247
|
-
- - '='
|
248
|
-
- !ruby/object:Gem::Version
|
249
|
-
version: 0.22.0
|
250
|
-
type: :development
|
251
|
-
prerelease: false
|
252
|
-
version_requirements: !ruby/object:Gem::Requirement
|
253
|
-
requirements:
|
254
|
-
- - '='
|
255
|
-
- !ruby/object:Gem::Version
|
256
|
-
version: 0.22.0
|
257
|
-
- !ruby/object:Gem::Dependency
|
258
|
-
name: simplecov-html
|
259
|
-
requirement: !ruby/object:Gem::Requirement
|
260
|
-
requirements:
|
261
|
-
- - '='
|
262
|
-
- !ruby/object:Gem::Version
|
263
|
-
version: 0.13.1
|
264
|
-
type: :development
|
265
|
-
prerelease: false
|
266
|
-
version_requirements: !ruby/object:Gem::Requirement
|
267
|
-
requirements:
|
268
|
-
- - '='
|
269
|
-
- !ruby/object:Gem::Version
|
270
|
-
version: 0.13.1
|
271
117
|
description:
|
272
118
|
email: asseinfo@asseinfo.com.br
|
273
119
|
executables: []
|
@@ -579,7 +425,8 @@ files:
|
|
579
425
|
homepage: http://github.com/asseinfo/br_danfe
|
580
426
|
licenses:
|
581
427
|
- MIT
|
582
|
-
metadata:
|
428
|
+
metadata:
|
429
|
+
rubygems_mfa_required: 'true'
|
583
430
|
post_install_message:
|
584
431
|
rdoc_options: []
|
585
432
|
require_paths:
|