ruby_danfe 1.15.2 → 1.15.4
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/.ruby-version +1 -1
- data/lib/ruby_danfe/dacte_generator.rb +5 -3
- data/lib/ruby_danfe/descricao.rb +15 -0
- data/lib/ruby_danfe/options.rb +1 -1
- data/lib/ruby_danfe/version.rb +1 -1
- data/ruby_danfe.gemspec +6 -6
- data/spec/lib/descricao_spec.rb +32 -0
- metadata +20 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b9c2189d353cd157495224787759f42e852858838eb42a4771bfeacbb43d4261
|
4
|
+
data.tar.gz: 690661efbd78af347c65714277435d863db5be3a4e02c292282c88320d02f5f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd2acaf149116a70f61100bfb74fdb9905f9cc7d31ff8ef56c199442936f2c53be6cce904f9d850d068fc4466c9459ea2068dd8e48c1c8db88ff571fce3d416f
|
7
|
+
data.tar.gz: 11f3a91fa45a6e47cd51d3a8df4ebf790b62af6e71a2db74bea52e0a542b92ad6e2c705ae6a7c14cd0bad1982b8fee58fec511efa79d0dac8860d01a489c27c6
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ruby-2.
|
1
|
+
ruby-3.2.2
|
@@ -433,6 +433,7 @@ module RubyDanfe
|
|
433
433
|
def render_impostos
|
434
434
|
#informações relativas ao Imposto
|
435
435
|
@pdf.ibox 0.40, 20.49, 0.25, 17.42, '', 'INFORMAÇÕES RELATIVAS AO IMPOSTO', { :align => :left, :size => 7, :border => 0, :style => :bold }
|
436
|
+
complemento = ''
|
436
437
|
if !@xml['imp/ICMS/ICMS00'].eql?("")
|
437
438
|
cst = '00 - Tributação Normal ICMS'
|
438
439
|
tipoIcms = 'ICMS00'
|
@@ -445,6 +446,7 @@ module RubyDanfe
|
|
445
446
|
elsif !@xml['imp/ICMS/ICMS60'].eql?("")
|
446
447
|
cst = '60 - ICMS cobrado anteriormente por Substituição Tributária'
|
447
448
|
tipoIcms = 'ICMS60'
|
449
|
+
complemento = 'STRet'
|
448
450
|
elsif !@xml['imp/ICMS/ICMS90'].eql?("")
|
449
451
|
cst = '90 - ICMS outros'
|
450
452
|
tipoIcms = 'ICMS90'
|
@@ -456,11 +458,11 @@ module RubyDanfe
|
|
456
458
|
tipoIcms = 'ICMSOutraUF'
|
457
459
|
end
|
458
460
|
@pdf.ibox 0.90, 10.00, 0.25, 17.83, 'SITUAÇÃO TRIBUTÁRIA', cst, { :size => 7, :style => :bold }
|
459
|
-
@pdf.inumeric 0.90, 3.00, 10.25, 17.83, 'BASE DE CÁLCULO', @xml['imp/ICMS/'+ tipoIcms + '/vBC'], { :size => 7, :style => :bold }
|
460
|
-
@pdf.inumeric 0.90, 1.00, 13.25, 17.83, 'AL. ICMS', @xml[
|
461
|
+
@pdf.inumeric 0.90, 3.00, 10.25, 17.83, 'BASE DE CÁLCULO', @xml['imp/ICMS/'+ tipoIcms + '/vBC'+ complemento], { :size => 7, :style => :bold }
|
462
|
+
@pdf.inumeric 0.90, 1.00, 13.25, 17.83, 'AL. ICMS', @xml['imp/ICMS/' + tipoIcms + '/pICMS'+ complemento], { :size => 7, :style => :bold }
|
461
463
|
@pdf.inumeric 0.90, 3.00, 14.25, 17.83, 'VALOR ICMS', @xml['imp/ICMS/' + tipoIcms + '/vICMS'],{ :size => 7, :style => :bold }
|
462
464
|
@pdf.inumeric 0.90, 2.00, 17.25, 17.83, '% RED.BC.CALC.', @xml['imp/ICMS/' + tipoIcms + '/pRedBC'], { :size => 7, :style => :bold }
|
463
|
-
@pdf.inumeric 0.90, 1.49, 19.25, 17.83, 'ICMS ST.', @xml['imp/ICMS/' + tipoIcms + '/
|
465
|
+
@pdf.inumeric 0.90, 1.49, 19.25, 17.83, 'ICMS ST.', @xml['imp/ICMS/' + tipoIcms + '/vICMS'+ complemento], { :size => 7, :style => :bold }
|
464
466
|
end
|
465
467
|
|
466
468
|
def render_documentos_originarios
|
data/lib/ruby_danfe/descricao.rb
CHANGED
@@ -17,6 +17,17 @@ module RubyDanfe
|
|
17
17
|
descricao += "FCI: #{det.css('prod/nFCI').text}"
|
18
18
|
end
|
19
19
|
|
20
|
+
if need_veicProd(det)
|
21
|
+
veicProd = det.css('veicProd')
|
22
|
+
|
23
|
+
descricao += LINEBREAK
|
24
|
+
descricao += "Chassi: #{veicProd.css('chassi').text} "
|
25
|
+
descricao += "Motor: #{veicProd.css('nMotor').text} "
|
26
|
+
descricao += "AnoFab: #{veicProd.css('anoFab').text} "
|
27
|
+
descricao += "AnoMod: #{veicProd.css('anoMod').text} "
|
28
|
+
descricao += "Cor: #{veicProd.css('xCor').text}"
|
29
|
+
end
|
30
|
+
|
20
31
|
if need_st(det)
|
21
32
|
descricao += LINEBREAK
|
22
33
|
descricao += "ST: MVA: #{det.css('ICMS/*/pMVAST').text}% "
|
@@ -37,6 +48,10 @@ module RubyDanfe
|
|
37
48
|
!det.css('prod/nFCI').text.empty?
|
38
49
|
end
|
39
50
|
|
51
|
+
def self.need_veicProd(det)
|
52
|
+
!det.css('prod/veicProd').text.empty?
|
53
|
+
end
|
54
|
+
|
40
55
|
def self.need_st(det)
|
41
56
|
det.css('ICMS/*/vBCST').text.to_i > 0
|
42
57
|
end
|
data/lib/ruby_danfe/options.rb
CHANGED
data/lib/ruby_danfe/version.rb
CHANGED
data/ruby_danfe.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.summary = "DANFE and DACTE pdf generator for Brazilian invoices and transportation docs."
|
9
9
|
spec.author = "Eduardo Reboucas"
|
10
10
|
spec.email = "eduardo.reboucas@gmail.com"
|
11
|
-
spec.homepage = "http://github.com/
|
11
|
+
spec.homepage = "http://github.com/mcfox/ruby_danfe"
|
12
12
|
spec.license = "MIT"
|
13
13
|
|
14
14
|
spec.files = `git ls-files`.split("\n")
|
@@ -17,14 +17,14 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.require_paths = ["lib"]
|
18
18
|
|
19
19
|
|
20
|
-
spec.add_dependency "nokogiri", "
|
20
|
+
spec.add_dependency "nokogiri", "> 1.8.5"
|
21
21
|
spec.add_dependency "prawn", "~> 1.2"
|
22
|
-
spec.add_dependency "prawn-table", "
|
23
|
-
spec.add_dependency "barby", "
|
24
|
-
spec.add_dependency "rqrcode", "
|
22
|
+
spec.add_dependency "prawn-table", "> 0.2"
|
23
|
+
spec.add_dependency "barby", "> 0.5"
|
24
|
+
spec.add_dependency "rqrcode", "> 0.10"
|
25
25
|
spec.add_dependency "rake"
|
26
26
|
|
27
27
|
spec.add_development_dependency "pry"
|
28
|
-
spec.add_development_dependency "rspec", "
|
28
|
+
spec.add_development_dependency "rspec", "> 3.0"
|
29
29
|
spec.add_development_dependency "simplecov"
|
30
30
|
end
|
data/spec/lib/descricao_spec.rb
CHANGED
@@ -54,6 +54,25 @@ describe RubyDanfe::Descricao do
|
|
54
54
|
Nokogiri::XML(xml)
|
55
55
|
end
|
56
56
|
|
57
|
+
let(:xml_veicProd) do
|
58
|
+
xml = <<-eos
|
59
|
+
<det nItem="1">
|
60
|
+
<prod>
|
61
|
+
<xProd>MOTOCICLETA</xProd>
|
62
|
+
<veicProd>
|
63
|
+
<chassi>32A1SF354S6FASD213ASD5</chassi>
|
64
|
+
<xCor>PRETA</xCor>
|
65
|
+
<nMotor>DSA5DA-321503</nMotor>
|
66
|
+
<anoMod>2018</anoMod>
|
67
|
+
<anoFab>2018</anoFab>
|
68
|
+
</veicProd>
|
69
|
+
</prod>
|
70
|
+
</det>
|
71
|
+
eos
|
72
|
+
|
73
|
+
Nokogiri::XML(xml)
|
74
|
+
end
|
75
|
+
|
57
76
|
let(:xml_IFC_ST_infAdProd) do
|
58
77
|
xml = <<-eos
|
59
78
|
<det nItem="1">
|
@@ -110,6 +129,19 @@ describe RubyDanfe::Descricao do
|
|
110
129
|
end
|
111
130
|
end
|
112
131
|
|
132
|
+
context "when have veicProd" do
|
133
|
+
it "returns product + veicProd" do
|
134
|
+
string = "MOTOCICLETA"
|
135
|
+
string += LINEBREAK
|
136
|
+
string += "Chassi: 32A1SF354S6FASD213ASD5 "
|
137
|
+
string += "Motor: DSA5DA-321503 "
|
138
|
+
string += "AnoFab: 2018 "
|
139
|
+
string += "AnoMod: 2018 "
|
140
|
+
string += "Cor: PRETA"
|
141
|
+
expect(RubyDanfe::Descricao.generate(xml_veicProd)).to eq string
|
142
|
+
end
|
143
|
+
end
|
144
|
+
|
113
145
|
context "when have FCI + ST + infAdProd" do
|
114
146
|
it "returns product + FCI + ST + infAdProd" do
|
115
147
|
string = "MONITOR DE ARCO ELETRICO"
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_danfe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.15.
|
4
|
+
version: 1.15.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eduardo Reboucas
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-12-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.8.5
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.8.5
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: prawn
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,42 +42,42 @@ dependencies:
|
|
42
42
|
name: prawn-table
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0.2'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0.2'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: barby
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0.5'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.5'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rqrcode
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
73
|
+
- - ">"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0.10'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - "
|
80
|
+
- - ">"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0.10'
|
83
83
|
- !ruby/object:Gem::Dependency
|
@@ -112,14 +112,14 @@ dependencies:
|
|
112
112
|
name: rspec
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - "
|
115
|
+
- - ">"
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '3.0'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - "
|
122
|
+
- - ">"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '3.0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
@@ -136,7 +136,7 @@ dependencies:
|
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
|
-
description:
|
139
|
+
description:
|
140
140
|
email: eduardo.reboucas@gmail.com
|
141
141
|
executables: []
|
142
142
|
extensions: []
|
@@ -191,11 +191,11 @@ files:
|
|
191
191
|
- test/nfe_with_fci.xml
|
192
192
|
- test/nfe_with_ns.xml
|
193
193
|
- test/nfe_without_ns.xml
|
194
|
-
homepage: http://github.com/
|
194
|
+
homepage: http://github.com/mcfox/ruby_danfe
|
195
195
|
licenses:
|
196
196
|
- MIT
|
197
197
|
metadata: {}
|
198
|
-
post_install_message:
|
198
|
+
post_install_message:
|
199
199
|
rdoc_options: []
|
200
200
|
require_paths:
|
201
201
|
- lib
|
@@ -210,9 +210,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
210
210
|
- !ruby/object:Gem::Version
|
211
211
|
version: '0'
|
212
212
|
requirements: []
|
213
|
-
|
214
|
-
|
215
|
-
signing_key:
|
213
|
+
rubygems_version: 3.4.22
|
214
|
+
signing_key:
|
216
215
|
specification_version: 4
|
217
216
|
summary: DANFE and DACTE pdf generator for Brazilian invoices and transportation docs.
|
218
217
|
test_files:
|