br_danfe 0.17.0 → 0.17.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.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +20 -8
  3. data/.github/dependabot.yml +19 -0
  4. data/.rubocop.yml +24 -11
  5. data/Gemfile.lock +38 -30
  6. data/Guardfile +3 -1
  7. data/bin/_guard-core +29 -0
  8. data/bin/guard +29 -0
  9. data/br_danfe.gemspec +6 -5
  10. data/lib/br_danfe/danfe_lib/nfce.rb +10 -8
  11. data/lib/br_danfe/danfe_lib/nfce_lib/header.rb +1 -2
  12. data/lib/br_danfe/danfe_lib/nfe.rb +11 -9
  13. data/lib/br_danfe/danfe_lib/nfe_lib/dup.rb +1 -2
  14. data/lib/br_danfe/danfe_lib/nfe_lib/emit_header.rb +4 -5
  15. data/lib/br_danfe/danfe_lib/nfe_lib/infadic.rb +2 -1
  16. data/lib/br_danfe/helper.rb +1 -1
  17. data/lib/br_danfe/mdfe.rb +1 -1
  18. data/lib/br_danfe/mdfe_lib/authorization_protocol.rb +1 -1
  19. data/lib/br_danfe/mdfe_lib/fisco_control.rb +6 -25
  20. data/lib/br_danfe/mdfe_lib/header.rb +7 -8
  21. data/lib/br_danfe/mdfe_lib/mdfe_identification.rb +1 -1
  22. data/lib/br_danfe/mdfe_lib/notes.rb +1 -1
  23. data/lib/br_danfe/qr_code.rb +1 -2
  24. data/lib/br_danfe/version.rb +1 -1
  25. data/lib/br_danfe.rb +2 -2
  26. data/spec/br_danfe/danfe_lib/nfce_lib/footer_spec.rb +3 -2
  27. data/spec/br_danfe/danfe_lib/nfce_lib/header_spec.rb +2 -2
  28. data/spec/br_danfe/danfe_lib/nfce_lib/helper_spec.rb +2 -2
  29. data/spec/br_danfe/danfe_lib/nfce_lib/key_spec.rb +2 -2
  30. data/spec/br_danfe/danfe_lib/nfce_lib/nfce_identification_spec.rb +2 -2
  31. data/spec/br_danfe/danfe_lib/nfce_lib/recipient_spec.rb +10 -10
  32. data/spec/br_danfe/danfe_lib/nfce_lib/total_list_spec.rb +12 -12
  33. data/spec/br_danfe/danfe_lib/nfe_lib/cst_spec.rb +4 -4
  34. data/spec/br_danfe/danfe_lib/nfe_lib/dest_spec.rb +178 -178
  35. data/spec/br_danfe/danfe_lib/nfe_lib/det_body_spec.rb +274 -274
  36. data/spec/br_danfe/danfe_lib/nfe_lib/document_spec.rb +77 -77
  37. data/spec/br_danfe/danfe_lib/nfe_lib/dup_spec.rb +23 -23
  38. data/spec/br_danfe/danfe_lib/nfe_lib/emit_header_spec.rb +37 -37
  39. data/spec/br_danfe/danfe_lib/nfe_lib/helper_spec.rb +34 -34
  40. data/spec/br_danfe/danfe_lib/nfe_lib/icmstot_spec.rb +19 -19
  41. data/spec/br_danfe/danfe_lib/nfe_lib/infadic_spec.rb +237 -237
  42. data/spec/br_danfe/danfe_lib/nfe_lib/infadic_vol_spec.rb +3 -2
  43. data/spec/br_danfe/danfe_lib/nfe_lib/issqn_spec.rb +16 -16
  44. data/spec/br_danfe/danfe_lib/nfe_lib/ticket_spec.rb +13 -13
  45. data/spec/br_danfe/danfe_lib/nfe_lib/transp_spec.rb +76 -76
  46. data/spec/br_danfe/danfe_lib/nfe_lib/vol_spec.rb +40 -40
  47. data/spec/br_danfe/danfe_lib/nfe_lib/xprod_spec.rb +118 -118
  48. data/spec/br_danfe/danfe_spec.rb +2 -2
  49. data/spec/br_danfe/helper_spec.rb +15 -15
  50. data/spec/br_danfe/mdfe_lib/document_spec.rb +2 -2
  51. data/spec/br_danfe/mdfe_lib/fisco_control_spec.rb +21 -7
  52. data/spec/br_danfe/mdfe_lib/header_spec.rb +27 -18
  53. data/spec/br_danfe/mdfe_lib/notes_spec.rb +5 -5
  54. data/spec/br_danfe/mdfe_lib/totalizer_spec.rb +1 -1
  55. data/spec/br_danfe/mdfe_spec.rb +4 -5
  56. data/spec/br_danfe/qr_code_spec.rb +4 -13
  57. data/spec/br_danfe/xml_spec.rb +6 -6
  58. data/spec/fixtures/mdfe/lib/fisco_control#without-barcode.pdf +0 -0
  59. data/spec/fixtures/mdfe/lib/header#render-without-qr-code.pdf +0 -0
  60. data/spec/spec_helper.rb +1 -1
  61. metadata +35 -14
@@ -74,7 +74,7 @@ module BrDanfe
74
74
 
75
75
  total_height += 10 if total_chars >= MAX_CHARS_ON_LINE
76
76
 
77
- total_height <= height_on_first_page ? first_page += word + ' ' : next_page += word + ' '
77
+ total_height <= height_on_first_page ? first_page += "#{word} " : next_page += "#{word} "
78
78
  end
79
79
 
80
80
  { first_page: first_page, next_page: next_page }
@@ -4,9 +4,8 @@ module BrDanfe
4
4
  require 'chunky_png'
5
5
  require 'tempfile'
6
6
 
7
- def initialize(pdf:, xml:, qr_code_tag:, box_size:)
7
+ def initialize(pdf:, qr_code_tag:, box_size:)
8
8
  @pdf = pdf
9
- @xml = xml
10
9
  @qr_code_tag = qr_code_tag
11
10
  @box_size = box_size
12
11
  end
@@ -1,3 +1,3 @@
1
1
  module BrDanfe
2
- VERSION = '0.17.0'.freeze
2
+ VERSION = '0.17.1'.freeze
3
3
  end
data/lib/br_danfe.rb CHANGED
@@ -10,12 +10,12 @@ require 'ostruct'
10
10
  require 'i18n'
11
11
  require 'br_documents'
12
12
 
13
- Dir[File.dirname(__FILE__) + '/**/*.rb'].sort.each { |f| require f }
13
+ Dir["#{File.dirname(__FILE__)}/**/*.rb"].sort.each { |f| require f }
14
14
  I18n.load_path << File.expand_path('../config/locales/pt-BR.yml', __dir__)
15
15
  Prawn::Font::AFM.hide_m17n_warning = true
16
16
 
17
17
  module BrDanfe
18
18
  def self.root_path
19
- File.expand_path('../..', __FILE__)
19
+ File.expand_path('..', __dir__)
20
20
  end
21
21
  end
@@ -7,7 +7,7 @@ describe BrDanfe::DanfeLib::NfceLib::Footer do
7
7
  let(:pdf) { BrDanfe::DanfeLib::NfceLib::Document.new(8.cm, 5.cm) }
8
8
 
9
9
  let(:xml_footer) do
10
- xml = <<-eos
10
+ xml = <<~XML
11
11
  <nfeProc>
12
12
  <NFe>
13
13
  <infNFe>
@@ -19,7 +19,7 @@ describe BrDanfe::DanfeLib::NfceLib::Footer do
19
19
  </infNFe>
20
20
  </NFe>
21
21
  </nfeProc>
22
- eos
22
+ XML
23
23
 
24
24
  BrDanfe::XML.new(xml)
25
25
  end
@@ -28,6 +28,7 @@ describe BrDanfe::DanfeLib::NfceLib::Footer do
28
28
 
29
29
  describe '#render' do
30
30
  before { File.delete(output_pdf) if File.exist?(output_pdf) }
31
+
31
32
  it 'renders footer to the pdf' do
32
33
  subject.render
33
34
  expect(File.exist?(output_pdf)).to be_falsey
@@ -8,7 +8,7 @@ describe BrDanfe::DanfeLib::NfceLib::Header do
8
8
  let(:environment) { 1 }
9
9
 
10
10
  let(:xml) do
11
- xml = <<-eos
11
+ xml = <<~XML
12
12
  <nfeProc>
13
13
  <NFe>
14
14
  <infNFe>
@@ -37,7 +37,7 @@ describe BrDanfe::DanfeLib::NfceLib::Header do
37
37
  </infNFe>
38
38
  </NFe>
39
39
  </nfeProc>
40
- eos
40
+ XML
41
41
 
42
42
  BrDanfe::XML.new(xml)
43
43
  end
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe BrDanfe::DanfeLib::NfceLib::Helper do
4
4
  let(:xml) do
5
- xml = <<-eos
5
+ xml = <<~XML
6
6
  <enderDest>
7
7
  <xLgr>Rua Tijucas</xLgr>
8
8
  <nro>99</nro>
@@ -15,7 +15,7 @@ describe BrDanfe::DanfeLib::NfceLib::Helper do
15
15
  <cPais>1058</cPais>
16
16
  <xPais>Brasil</xPais>
17
17
  </enderDest>
18
- eos
18
+ XML
19
19
 
20
20
  BrDanfe::XML.new(xml)
21
21
  end
@@ -5,7 +5,7 @@ describe BrDanfe::DanfeLib::NfceLib::Key do
5
5
  let(:output_pdf) { "#{base_dir}output.pdf" }
6
6
 
7
7
  let(:xml_key) do
8
- xml = <<-eos
8
+ xml = <<~XML
9
9
  <nfeProc>
10
10
  <NFe>
11
11
  <infNFeSupl>
@@ -19,7 +19,7 @@ describe BrDanfe::DanfeLib::NfceLib::Key do
19
19
  </infProt>
20
20
  </protNFe>
21
21
  </nfeProc>
22
- eos
22
+ XML
23
23
 
24
24
  BrDanfe::XML.new(xml)
25
25
  end
@@ -7,7 +7,7 @@ describe BrDanfe::DanfeLib::NfceLib::NfceIdentification do
7
7
  let(:pdf) { BrDanfe::DanfeLib::NfceLib::Document.new(8.cm, 5.cm) }
8
8
 
9
9
  let(:xml) do
10
- xml = <<-eos
10
+ xml = <<~XML
11
11
  <nfeProc>
12
12
  <NFe>
13
13
  <infNFe>
@@ -25,7 +25,7 @@ describe BrDanfe::DanfeLib::NfceLib::NfceIdentification do
25
25
  </infNFe>
26
26
  </NFe>
27
27
  </nfeProc>
28
- eos
28
+ XML
29
29
 
30
30
  BrDanfe::XML.new(xml)
31
31
  end
@@ -18,7 +18,7 @@ describe BrDanfe::DanfeLib::NfceLib::Recipient do
18
18
  context 'when has identified recipient' do
19
19
  context 'when the recipient is a company' do
20
20
  let(:xml_as_string) do
21
- <<-eos
21
+ <<~XML
22
22
  <nfeProc>
23
23
  <NFe>
24
24
  <dest>
@@ -34,7 +34,7 @@ describe BrDanfe::DanfeLib::NfceLib::Recipient do
34
34
  </dest>
35
35
  </NFe>
36
36
  </nfeProc>
37
- eos
37
+ XML
38
38
  end
39
39
 
40
40
  it 'renders the CNPJ and company informations' do
@@ -47,7 +47,7 @@ describe BrDanfe::DanfeLib::NfceLib::Recipient do
47
47
 
48
48
  context 'when the recipient is an individual person' do
49
49
  let(:xml_as_string) do
50
- <<-eos
50
+ <<~XML
51
51
  <nfeProc>
52
52
  <NFe>
53
53
  <dest>
@@ -63,7 +63,7 @@ describe BrDanfe::DanfeLib::NfceLib::Recipient do
63
63
  </dest>
64
64
  </NFe>
65
65
  </nfeProc>
66
- eos
66
+ XML
67
67
  end
68
68
 
69
69
  it 'renders the CPF and individual informations' do
@@ -76,7 +76,7 @@ describe BrDanfe::DanfeLib::NfceLib::Recipient do
76
76
 
77
77
  context 'when the recipient is a foreign' do
78
78
  let(:xml_as_string) do
79
- <<-eos
79
+ <<~XML
80
80
  <nfeProc>
81
81
  <NFe>
82
82
  <dest>
@@ -92,7 +92,7 @@ describe BrDanfe::DanfeLib::NfceLib::Recipient do
92
92
  </dest>
93
93
  </NFe>
94
94
  </nfeProc>
95
- eos
95
+ XML
96
96
  end
97
97
 
98
98
  it 'renders the ID Estrangeiro and foreign informations' do
@@ -105,7 +105,7 @@ describe BrDanfe::DanfeLib::NfceLib::Recipient do
105
105
 
106
106
  context 'when the recipient does not have document' do
107
107
  let(:xml_as_string) do
108
- <<-eos
108
+ <<~XML
109
109
  <nfeProc>
110
110
  <NFe>
111
111
  <dest>
@@ -120,7 +120,7 @@ describe BrDanfe::DanfeLib::NfceLib::Recipient do
120
120
  </dest>
121
121
  </NFe>
122
122
  </nfeProc>
123
- eos
123
+ XML
124
124
  end
125
125
 
126
126
  it 'renders the name and the address of the consumer' do
@@ -134,7 +134,7 @@ describe BrDanfe::DanfeLib::NfceLib::Recipient do
134
134
 
135
135
  context 'when does not have identified recipient' do
136
136
  let(:xml_as_string) do
137
- <<-eos
137
+ <<~XML
138
138
  <nfeProc>
139
139
  <NFe>
140
140
  <dest>
@@ -149,7 +149,7 @@ describe BrDanfe::DanfeLib::NfceLib::Recipient do
149
149
  </dest>
150
150
  </NFe>
151
151
  </nfeProc>
152
- eos
152
+ XML
153
153
  end
154
154
 
155
155
  it 'renders unidentified consumer' do
@@ -6,7 +6,7 @@ describe BrDanfe::DanfeLib::NfceLib::TotalList do
6
6
 
7
7
  let(:pdf) { BrDanfe::DanfeLib::NfceLib::Document.new(8.cm, 5.cm) }
8
8
  let(:payment_xml) do
9
- <<-eos
9
+ <<~XML
10
10
  <pag>
11
11
  <detPag>
12
12
  <tPag>01</tPag>
@@ -21,10 +21,10 @@ describe BrDanfe::DanfeLib::NfceLib::TotalList do
21
21
  <vPag>66.70</vPag>
22
22
  </detPag>
23
23
  </pag>
24
- eos
24
+ XML
25
25
  end
26
26
  let(:xml_as_string) do
27
- <<-eos
27
+ <<~XML
28
28
  <nfeProc>
29
29
  <NFe>
30
30
  <infNFe>
@@ -43,7 +43,7 @@ describe BrDanfe::DanfeLib::NfceLib::TotalList do
43
43
  </infNFe>
44
44
  </NFe>
45
45
  </nfeProc>
46
- eos
46
+ XML
47
47
  end
48
48
  let(:xml_total_list) { BrDanfe::XML.new(xml_as_string) }
49
49
 
@@ -64,7 +64,7 @@ describe BrDanfe::DanfeLib::NfceLib::TotalList do
64
64
 
65
65
  describe 'about totals' do
66
66
  let(:xml_as_string) do
67
- <<-eos
67
+ <<~XML
68
68
  <nfeProc>
69
69
  <NFe>
70
70
  <infNFe>
@@ -82,7 +82,7 @@ describe BrDanfe::DanfeLib::NfceLib::TotalList do
82
82
  </infNFe>
83
83
  </NFe>
84
84
  </nfeProc>
85
- eos
85
+ XML
86
86
  end
87
87
 
88
88
  it 'renders the totals' do
@@ -95,7 +95,7 @@ describe BrDanfe::DanfeLib::NfceLib::TotalList do
95
95
 
96
96
  describe 'about payment methods' do
97
97
  let(:payment_xml) do
98
- <<-eos
98
+ <<~XML
99
99
  <pag>
100
100
  <detPag>
101
101
  <tPag>01</tPag>
@@ -114,7 +114,7 @@ describe BrDanfe::DanfeLib::NfceLib::TotalList do
114
114
  <vPag>1.99</vPag>
115
115
  </detPag>
116
116
  </pag>
117
- eos
117
+ XML
118
118
  end
119
119
 
120
120
  it 'does not render the ""without payment"" payment method ' do
@@ -126,7 +126,7 @@ describe BrDanfe::DanfeLib::NfceLib::TotalList do
126
126
 
127
127
  context 'when there are repeated payment methods' do
128
128
  let(:payment_xml) do
129
- <<-eos
129
+ <<~XML
130
130
  <pag>
131
131
  <detPag>
132
132
  <tPag>01</tPag>
@@ -145,7 +145,7 @@ describe BrDanfe::DanfeLib::NfceLib::TotalList do
145
145
  <vPag>26.50</vPag>
146
146
  </detPag>
147
147
  </pag>
148
- eos
148
+ XML
149
149
  end
150
150
 
151
151
  it 'renders grouped payment methods' do
@@ -158,7 +158,7 @@ describe BrDanfe::DanfeLib::NfceLib::TotalList do
158
158
 
159
159
  context 'when there are only "without payment" payment methods' do
160
160
  let(:payment_xml) do
161
- <<-eos
161
+ <<~XML
162
162
  <pag>
163
163
  <detPag>
164
164
  <tPag>90</tPag>
@@ -173,7 +173,7 @@ describe BrDanfe::DanfeLib::NfceLib::TotalList do
173
173
  <vPag>66.70</vPag>
174
174
  </detPag>
175
175
  </pag>
176
- eos
176
+ XML
177
177
  end
178
178
 
179
179
  it 'does not render payment methods' do
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  describe BrDanfe::DanfeLib::NfeLib::Cst do
4
4
  let(:xml_cst) do
5
- xml = <<-eos
5
+ xml = <<~XML
6
6
  <imposto>
7
7
  <ICMS>
8
8
  <ICMS00>
@@ -15,13 +15,13 @@ describe BrDanfe::DanfeLib::NfeLib::Cst do
15
15
  </ICMS00>
16
16
  </ICMS>
17
17
  </imposto>
18
- eos
18
+ XML
19
19
 
20
20
  Nokogiri::XML(xml)
21
21
  end
22
22
 
23
23
  let(:xml_csosn) do
24
- xml = <<-eos
24
+ xml = <<~XML
25
25
  <imposto>
26
26
  <ICMS>
27
27
  <ICMSSN102>
@@ -30,7 +30,7 @@ describe BrDanfe::DanfeLib::NfeLib::Cst do
30
30
  </ICMSSN102>
31
31
  </ICMS>
32
32
  </imposto>
33
- eos
33
+ XML
34
34
 
35
35
  Nokogiri::XML(xml)
36
36
  end