br_danfe 0.11.1 → 0.11.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +1 -0
  3. data/.rubocop.yml +113 -0
  4. data/Gemfile.lock +40 -19
  5. data/Rakefile +3 -3
  6. data/br_danfe.gemspec +7 -7
  7. data/lib/br_danfe.rb +14 -14
  8. data/lib/br_danfe/cce.rb +1 -0
  9. data/lib/br_danfe/cce_lib/barcode.rb +3 -2
  10. data/lib/br_danfe/cce_lib/correction.rb +3 -2
  11. data/lib/br_danfe/cce_lib/document.rb +15 -5
  12. data/lib/br_danfe/cce_lib/footer.rb +1 -1
  13. data/lib/br_danfe/cce_lib/header.rb +1 -1
  14. data/lib/br_danfe/cce_lib/nfe_key.rb +4 -3
  15. data/lib/br_danfe/cce_lib/protocol.rb +4 -3
  16. data/lib/br_danfe/danfe.rb +17 -17
  17. data/lib/br_danfe/danfe_lib/cep.rb +1 -1
  18. data/lib/br_danfe/danfe_lib/cst.rb +8 -6
  19. data/lib/br_danfe/danfe_lib/dest.rb +21 -23
  20. data/lib/br_danfe/danfe_lib/det_body.rb +20 -20
  21. data/lib/br_danfe/danfe_lib/document.rb +49 -36
  22. data/lib/br_danfe/danfe_lib/dup.rb +11 -10
  23. data/lib/br_danfe/danfe_lib/emit_header.rb +38 -34
  24. data/lib/br_danfe/danfe_lib/helper.rb +23 -23
  25. data/lib/br_danfe/danfe_lib/icmstot.rb +12 -12
  26. data/lib/br_danfe/danfe_lib/infadic.rb +1 -0
  27. data/lib/br_danfe/danfe_lib/issqn.rb +6 -6
  28. data/lib/br_danfe/danfe_lib/options.rb +6 -5
  29. data/lib/br_danfe/danfe_lib/phone.rb +2 -2
  30. data/lib/br_danfe/danfe_lib/ticket.rb +6 -4
  31. data/lib/br_danfe/danfe_lib/transp.rb +27 -26
  32. data/lib/br_danfe/danfe_lib/vol.rb +9 -8
  33. data/lib/br_danfe/danfe_lib/xml.rb +6 -6
  34. data/lib/br_danfe/danfe_lib/xprod.rb +22 -23
  35. data/lib/br_danfe/uf.rb +1 -4
  36. data/lib/br_danfe/version.rb +1 -1
  37. data/spec/features/cce_spec.rb +6 -6
  38. data/spec/features/danfe_spec.rb +25 -25
  39. data/spec/fixtures/cce/lib/barcode#render.pdf +5 -1
  40. data/spec/fixtures/cce/lib/correction#render.pdf +6 -2
  41. data/spec/fixtures/cce/lib/document#box.pdf +5 -1
  42. data/spec/fixtures/cce/lib/document#box.with.block.pdf +6 -2
  43. data/spec/fixtures/cce/lib/document#text.align.pdf +6 -2
  44. data/spec/fixtures/cce/lib/document#text.pad.pdf +6 -2
  45. data/spec/fixtures/cce/lib/document#text.simple.pdf +6 -2
  46. data/spec/fixtures/cce/lib/document#text.size.pdf +6 -2
  47. data/spec/fixtures/cce/lib/document#text.style.pdf +6 -2
  48. data/spec/fixtures/cce/lib/footer#render.pdf +6 -2
  49. data/spec/fixtures/cce/lib/header#render.pdf +6 -2
  50. data/spec/fixtures/cce/lib/nfe_key#render.pdf +7 -3
  51. data/spec/fixtures/cce/lib/protocol#render.pdf +7 -3
  52. data/spec/fixtures/cce/v1.00/cce.fixture.pdf +7 -3
  53. data/spec/fixtures/nfe/lib/dest#render-v2.00.pdf +7 -3
  54. data/spec/fixtures/nfe/lib/dest#render-v3.10.pdf +7 -3
  55. data/spec/fixtures/nfe/lib/dest#render-v4.00.pdf +7 -3
  56. data/spec/fixtures/nfe/lib/dest#render-with-address-bigger.pdf +7 -3
  57. data/spec/fixtures/nfe/lib/dest#render-with_cnpj.pdf +7 -3
  58. data/spec/fixtures/nfe/lib/dest#render-with_cpf.pdf +7 -3
  59. data/spec/fixtures/nfe/lib/dest#render-with_ie.pdf +7 -3
  60. data/spec/fixtures/nfe/lib/dest#render-without-address-complement.pdf +7 -3
  61. data/spec/fixtures/nfe/lib/det_body#render-csosn.pdf +383 -379
  62. data/spec/fixtures/nfe/lib/det_body#render-cst.pdf +233 -229
  63. data/spec/fixtures/nfe/lib/det_body#render-fci.pdf +158 -154
  64. data/spec/fixtures/nfe/lib/det_body#render-icms_st.pdf +158 -154
  65. data/spec/fixtures/nfe/lib/det_body#render-quantity_with_custom_precision.pdf +158 -154
  66. data/spec/fixtures/nfe/lib/det_body#render-three_pages.pdf +3697 -3685
  67. data/spec/fixtures/nfe/lib/det_body#render-two_pages.pdf +3540 -3532
  68. data/spec/fixtures/nfe/lib/det_body#render-unit_price_with_custom_precision.pdf +158 -154
  69. data/spec/fixtures/nfe/lib/det_body#render-with_infadprod.pdf +158 -154
  70. data/spec/fixtures/nfe/lib/det_body#render-with_issqn.pdf +1665 -1657
  71. data/spec/fixtures/nfe/lib/det_body#render-without_issqn.pdf +1665 -1657
  72. data/spec/fixtures/nfe/lib/document#lcnpj-blank.pdf +6 -2
  73. data/spec/fixtures/nfe/lib/document#lcnpj-invalid.pdf +6 -2
  74. data/spec/fixtures/nfe/lib/document#lcnpj-valid.pdf +6 -2
  75. data/spec/fixtures/nfe/lib/document#lie-blank-uf-invalid.pdf +6 -2
  76. data/spec/fixtures/nfe/lib/document#lie-blank.pdf +6 -2
  77. data/spec/fixtures/nfe/lib/document#lie-invalid.pdf +6 -2
  78. data/spec/fixtures/nfe/lib/document#lie-valid.pdf +6 -2
  79. data/spec/fixtures/nfe/lib/dup#render.pdf +8 -4
  80. data/spec/fixtures/nfe/lib/emit_header#render-second_page.pdf +9 -5
  81. data/spec/fixtures/nfe/lib/emit_header#render-with_logo.pdf +9 -5
  82. data/spec/fixtures/nfe/lib/emit_header#render-without_logo.pdf +7 -3
  83. data/spec/fixtures/nfe/lib/icmstot#render.pdf +7 -3
  84. data/spec/fixtures/nfe/lib/infadic#render-all_the_informations.pdf +8 -4
  85. data/spec/fixtures/nfe/lib/infadic#render-difal.pdf +7 -3
  86. data/spec/fixtures/nfe/lib/infadic#render-extra_volume.pdf +8 -4
  87. data/spec/fixtures/nfe/lib/infadic#render-with_complementary_information.pdf +7 -3
  88. data/spec/fixtures/nfe/lib/infadic#render-with_fisco_additional_information.pdf +7 -3
  89. data/spec/fixtures/nfe/lib/infadic#render-with_street_data.pdf +7 -3
  90. data/spec/fixtures/nfe/lib/infadic#render.pdf +7 -3
  91. data/spec/fixtures/nfe/lib/infadic_vol#render-extra_volume.pdf +7 -3
  92. data/spec/fixtures/nfe/lib/issqn#render-with_issqn.pdf +7 -3
  93. data/spec/fixtures/nfe/lib/issqn#render-with_one_issqn_value.pdf +7 -3
  94. data/spec/fixtures/nfe/lib/issqn#render-without_issqn.pdf +5 -1
  95. data/spec/fixtures/nfe/lib/ticket#render.pdf +6 -2
  96. data/spec/fixtures/nfe/lib/transp#render-modfrete_0.pdf +7 -3
  97. data/spec/fixtures/nfe/lib/transp#render-modfrete_1.pdf +7 -3
  98. data/spec/fixtures/nfe/lib/transp#render-modfrete_2.pdf +7 -3
  99. data/spec/fixtures/nfe/lib/transp#render-modfrete_3.pdf +7 -3
  100. data/spec/fixtures/nfe/lib/transp#render-modfrete_4.pdf +7 -3
  101. data/spec/fixtures/nfe/lib/transp#render-modfrete_9.pdf +7 -3
  102. data/spec/fixtures/nfe/lib/transp#render.pdf +7 -3
  103. data/spec/fixtures/nfe/lib/vol#render-blank-boxes.pdf +6 -2
  104. data/spec/fixtures/nfe/lib/vol#render.pdf +6 -2
  105. data/spec/fixtures/nfe/v2.00/custom_options.fixture.pdf +317 -313
  106. data/spec/fixtures/nfe/v2.00/nfe_simples_nacional.xml.fixture.pdf +315 -311
  107. data/spec/fixtures/nfe/v2.00/nfe_with_extra_volumes.xml.fixture.pdf +1297 -1289
  108. data/spec/fixtures/nfe/v2.00/nfe_with_fci.xml.fixture.pdf +165 -161
  109. data/spec/fixtures/nfe/v2.00/nfe_with_ns.xml.fixture.pdf +1297 -1289
  110. data/spec/fixtures/nfe/v2.00/nfe_without_ns.xml.fixture.pdf +314 -310
  111. data/spec/fixtures/nfe/v3.10/nfe_simples_nacional.xml.fixture.pdf +765 -761
  112. data/spec/fixtures/nfe/v3.10/with_footer.fixture.pdf +1222 -1214
  113. data/spec/fixtures/nfe/v3.10/with_issqn.fixture.pdf +1222 -1214
  114. data/spec/fixtures/nfe/v3.10/with_three_pages.fixture.pdf +4004 -3992
  115. data/spec/fixtures/nfe/v3.10/without_issqn.fixture.pdf +1522 -1514
  116. data/spec/lib/cce_lib/barcode_spec.rb +5 -5
  117. data/spec/lib/cce_lib/correction_spec.rb +5 -5
  118. data/spec/lib/cce_lib/document_spec.rb +23 -23
  119. data/spec/lib/cce_lib/footer_spec.rb +4 -4
  120. data/spec/lib/cce_lib/header_spec.rb +4 -4
  121. data/spec/lib/cce_lib/nfe_key_spec.rb +5 -5
  122. data/spec/lib/cce_lib/protocol_spec.rb +5 -5
  123. data/spec/lib/danfe_lib/cep_spec.rb +5 -5
  124. data/spec/lib/danfe_lib/cst_spec.rb +8 -8
  125. data/spec/lib/danfe_lib/dest_spec.rb +23 -23
  126. data/spec/lib/danfe_lib/det_body_spec.rb +26 -26
  127. data/spec/lib/danfe_lib/document_spec.rb +25 -25
  128. data/spec/lib/danfe_lib/dup_spec.rb +4 -4
  129. data/spec/lib/danfe_lib/emit_header_spec.rb +13 -13
  130. data/spec/lib/danfe_lib/helper_spec.rb +74 -74
  131. data/spec/lib/danfe_lib/icmstot_spec.rb +4 -4
  132. data/spec/lib/danfe_lib/infadic_spec.rb +6 -13
  133. data/spec/lib/danfe_lib/infadic_vol_spec.rb +1 -4
  134. data/spec/lib/danfe_lib/issqn_spec.rb +11 -11
  135. data/spec/lib/danfe_lib/logo_options_spec.rb +18 -18
  136. data/spec/lib/danfe_lib/options_spec.rb +7 -7
  137. data/spec/lib/danfe_lib/phone_spec.rb +10 -10
  138. data/spec/lib/danfe_lib/plate_spec.rb +9 -9
  139. data/spec/lib/danfe_lib/ticket_spec.rb +4 -4
  140. data/spec/lib/danfe_lib/transp_spec.rb +10 -10
  141. data/spec/lib/danfe_lib/vol_spec.rb +7 -7
  142. data/spec/lib/danfe_lib/xml_spec.rb +5 -5
  143. data/spec/lib/danfe_lib/xprod_spec.rb +48 -50
  144. data/spec/lib/uf_spec.rb +12 -12
  145. data/spec/support/have_same_content_of.rb +6 -6
  146. metadata +40 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4d32208fe3bfadff3784e38bfaec38460bd76ad5f6c79d4cb940e9fab9e75e94
4
- data.tar.gz: 98ec1c51cf58ad306a74ba66823d40f211eaa0ea68d5384f98b46129d90957a6
3
+ metadata.gz: 1de518d313ceb76285fe9d9a589c48c540bf07fe76f9bcc72692db92e8217973
4
+ data.tar.gz: 54b2de6012f183a7157ade8e1deae69c2b3209eabdf908c7b81aafc9baa127b0
5
5
  SHA512:
6
- metadata.gz: 414ecdec518985f56fcdf0103789d00bedf591b2c892baf743523c750bf2326855bd0306d9c7ca4168374cc407f18fc06d2eba8ae09778bac863849fd8236225
7
- data.tar.gz: e7d33cd7f04821c1020d355f75300a462552f3293a367b74fea728114802ed6c057137d0d2caa58ff30ae0e7172ffadc5279480b4161ac70ef1362eea23cddbb
6
+ metadata.gz: aa8a9756f5436acf1580bf6f183e742c3c2335bd8e6884200d094780d0ba12542ce42d4e2dd25641b36774a480f1eb22590fdee2f06e34511279ab99f8ece74c
7
+ data.tar.gz: f92b7ea6440380459596aa37fb7e2647b36daf0a049bc0e0841343a59797d5f5de4266818dbc4fb5b3254a6ba944e2e289a74b019d36120221bfcca29245685a
data/.codeclimate.yml CHANGED
@@ -14,6 +14,7 @@ engines:
14
14
  enabled: true
15
15
  rubocop:
16
16
  enabled: true
17
+ channel: rubocop-0-67-0
17
18
  ratings:
18
19
  paths:
19
20
  - Gemfile.lock
data/.rubocop.yml ADDED
@@ -0,0 +1,113 @@
1
+ require: rubocop-performance
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 2.5.1
5
+ Exclude:
6
+ - 'config/**/*'
7
+ - 'spec/spec_helper.rb'
8
+ - !ruby/regexp /old_and_unused\.rb$/
9
+ DisplayCopNames: true
10
+ DisplayStyleGuide: true
11
+
12
+ Bundler/OrderedGems:
13
+ Enabled: false
14
+
15
+ Layout/HashAlignment:
16
+ Enabled: false
17
+
18
+ Layout/ParameterAlignment:
19
+ Enabled: false
20
+
21
+ Layout/FirstArrayElementIndentation:
22
+ EnforcedStyle: consistent
23
+
24
+ Layout/SpaceBeforeBlockBraces:
25
+ EnforcedStyleForEmptyBraces: space
26
+
27
+ Metrics/ClassLength:
28
+ Max: 230
29
+ Exclude:
30
+ - 'app/models/invoice_product.rb'
31
+
32
+ Metrics/CyclomaticComplexity:
33
+ Max: 8
34
+
35
+ Metrics/PerceivedComplexity:
36
+ Max: 8
37
+
38
+ Metrics/MethodLength:
39
+ Max: 19
40
+
41
+ Metrics/BlockLength:
42
+ Exclude:
43
+ - 'spec/**/*.rb'
44
+ - 'lib/tasks/export_nfes_to_portal.rake'
45
+ - 'lib/tasks/karma.rake'
46
+ - 'lib/tasks/backup_restore.rake'
47
+
48
+ Style/DateTime:
49
+ Enabled: false
50
+
51
+ Style/Documentation:
52
+ Enabled: false
53
+
54
+ Style/FormatStringToken:
55
+ EnforcedStyle: unannotated
56
+
57
+ Style/GuardClause:
58
+ Enabled: false
59
+
60
+ Style/IfUnlessModifier:
61
+ Enabled: false
62
+
63
+ Style/SymbolArray:
64
+ EnforcedStyle: brackets
65
+
66
+ Style/HashEachMethods:
67
+ Enabled: true
68
+
69
+ Style/HashTransformKeys:
70
+ Enabled: true
71
+
72
+ Style/HashTransformValues:
73
+ Enabled: true
74
+
75
+ Layout/LineLength:
76
+ Max: 150
77
+
78
+ Lint/AmbiguousBlockAssociation:
79
+ Exclude:
80
+ - 'spec/**/*'
81
+
82
+ Metrics/ModuleLength:
83
+ Max: 118
84
+
85
+ Metrics/AbcSize:
86
+ Max: 50
87
+
88
+ Style/FrozenStringLiteralComment:
89
+ EnforcedStyle: never
90
+
91
+ Naming/RescuedExceptionsVariableName:
92
+ Enabled: false
93
+
94
+ Naming/HeredocDelimiterNaming:
95
+ Enabled: false
96
+
97
+ Naming/HeredocDelimiterCase:
98
+ Enabled: false
99
+
100
+ Naming/MethodParameterName:
101
+ Enabled: false
102
+
103
+ Naming/MethodName:
104
+ Enabled: false
105
+
106
+ Naming/VariableName:
107
+ Enabled: false
108
+
109
+ Style/ClassAndModuleChildren:
110
+ Enabled: false
111
+
112
+ Metrics/ParameterLists:
113
+ Enabled: false
data/Gemfile.lock CHANGED
@@ -1,27 +1,28 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- br_danfe (0.11.1)
4
+ br_danfe (0.11.2)
5
5
  barby (= 0.5.1)
6
- br_documents (>= 0.0.15)
6
+ br_documents (>= 0.1.3)
7
7
  i18n (>= 0.8.6)
8
8
  nokogiri (>= 1.8)
9
- prawn (= 2.1.0)
9
+ prawn (~> 2.0)
10
10
  prawn-table (= 0.2.2)
11
11
 
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
- activemodel (6.0.0)
16
- activesupport (= 6.0.0)
17
- activesupport (6.0.0)
15
+ activemodel (6.0.2.1)
16
+ activesupport (= 6.0.2.1)
17
+ activesupport (6.0.2.1)
18
18
  concurrent-ruby (~> 1.0, >= 1.0.2)
19
19
  i18n (>= 0.7, < 2)
20
20
  minitest (~> 5.1)
21
21
  tzinfo (~> 1.1)
22
- zeitwerk (~> 2.1, >= 2.1.8)
22
+ zeitwerk (~> 2.2)
23
+ ast (2.4.0)
23
24
  barby (0.5.1)
24
- br_documents (0.1.2)
25
+ br_documents (0.1.3)
25
26
  activemodel (>= 4.0.0)
26
27
  i18n (>= 0.6.5)
27
28
  byebug (3.5.1)
@@ -29,23 +30,29 @@ GEM
29
30
  debugger-linecache (~> 1.2)
30
31
  slop (~> 3.6)
31
32
  columnize (0.9.0)
32
- concurrent-ruby (1.1.5)
33
+ concurrent-ruby (1.1.6)
33
34
  debugger-linecache (1.2.0)
34
35
  diff-lcs (1.3)
35
36
  docile (1.3.2)
36
- i18n (1.7.0)
37
+ i18n (1.8.2)
37
38
  concurrent-ruby (~> 1.0)
39
+ jaro_winkler (1.5.4)
38
40
  json (2.2.0)
39
41
  mini_portile2 (2.4.0)
40
- minitest (5.12.2)
41
- nokogiri (1.10.4)
42
+ minitest (5.14.0)
43
+ nokogiri (1.10.9)
42
44
  mini_portile2 (~> 2.4.0)
43
- pdf-core (0.6.1)
44
- prawn (2.1.0)
45
- pdf-core (~> 0.6.1)
46
- ttfunk (~> 1.4.0)
45
+ parallel (1.19.1)
46
+ parser (2.7.0.4)
47
+ ast (~> 2.4.0)
48
+ pdf-core (0.7.0)
49
+ prawn (2.2.2)
50
+ pdf-core (~> 0.7.0)
51
+ ttfunk (~> 1.5)
47
52
  prawn-table (0.2.2)
48
53
  prawn (>= 1.3.0, < 3.0.0)
54
+ psych (3.1.0)
55
+ rainbow (3.0.0)
49
56
  rake (12.0.0)
50
57
  rspec (3.6.0)
51
58
  rspec-core (~> 3.6.0)
@@ -60,6 +67,17 @@ GEM
60
67
  diff-lcs (>= 1.2.0, < 2.0)
61
68
  rspec-support (~> 3.6.0)
62
69
  rspec-support (3.6.0)
70
+ rubocop (0.67.0)
71
+ jaro_winkler (~> 1.5.1)
72
+ parallel (~> 1.10)
73
+ parser (>= 2.5, != 2.5.1.1)
74
+ psych (>= 3.1.0)
75
+ rainbow (>= 2.2.2, < 4.0)
76
+ ruby-progressbar (~> 1.7)
77
+ unicode-display_width (>= 1.4.0, < 1.6)
78
+ rubocop-performance (1.1.0)
79
+ rubocop (>= 0.67.0)
80
+ ruby-progressbar (1.10.1)
63
81
  simplecov (0.17.0)
64
82
  docile (~> 1.1)
65
83
  json (>= 1.8, < 3)
@@ -67,10 +85,11 @@ GEM
67
85
  simplecov-html (0.10.1)
68
86
  slop (3.6.0)
69
87
  thread_safe (0.3.6)
70
- ttfunk (1.4.0)
71
- tzinfo (1.2.5)
88
+ ttfunk (1.6.2.1)
89
+ tzinfo (1.2.6)
72
90
  thread_safe (~> 0.1)
73
- zeitwerk (2.1.10)
91
+ unicode-display_width (1.5.0)
92
+ zeitwerk (2.3.0)
74
93
 
75
94
  PLATFORMS
76
95
  ruby
@@ -80,6 +99,8 @@ DEPENDENCIES
80
99
  byebug (= 3.5.1)
81
100
  rake (= 12.0.0)
82
101
  rspec (= 3.6.0)
102
+ rubocop (= 0.67.0)
103
+ rubocop-performance (~> 1.1.0)
83
104
  simplecov (= 0.17.0)
84
105
  simplecov-html (= 0.10.1)
85
106
 
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
- require "rspec/core/rake_task"
2
- require "bundler/gem_tasks"
3
- require "br_danfe"
1
+ require 'rspec/core/rake_task'
2
+ require 'bundler/gem_tasks'
3
+ require 'br_danfe'
4
4
 
5
5
  task default: :spec
6
6
  RSpec::Core::RakeTask.new
data/br_danfe.gemspec CHANGED
@@ -1,6 +1,4 @@
1
- # coding: utf-8
2
-
3
- $LOAD_PATH.push File.expand_path('../lib', __FILE__)
1
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
2
  require 'br_danfe/version'
5
3
 
6
4
  Gem::Specification.new do |spec|
@@ -14,20 +12,22 @@ Gem::Specification.new do |spec|
14
12
 
15
13
  spec.files = `git ls-files`.split("\n")
16
14
  spec.test_files = `git ls-files -- { test,spec,features }/*`.split("\n")
17
- spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
15
+ spec.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
18
16
  spec.require_paths = ['lib']
19
- spec.required_ruby_version = '>= 2.1'
17
+ spec.required_ruby_version = '>= 2.5.1'
20
18
 
21
19
  spec.add_dependency 'barby', '0.5.1'
22
- spec.add_dependency 'br_documents', '>= 0.0.15'
20
+ spec.add_dependency 'br_documents', '>= 0.1.3'
23
21
  spec.add_dependency 'i18n', '>= 0.8.6'
24
22
  spec.add_dependency 'nokogiri', '>= 1.8'
25
- spec.add_dependency 'prawn', '2.1.0'
23
+ spec.add_dependency 'prawn', '~> 2.0'
26
24
  spec.add_dependency 'prawn-table', '0.2.2'
27
25
 
28
26
  spec.add_development_dependency 'byebug', '3.5.1'
29
27
  spec.add_development_dependency 'rake', '12.0.0'
30
28
  spec.add_development_dependency 'rspec', '3.6.0'
29
+ spec.add_development_dependency 'rubocop', '0.67.0'
30
+ spec.add_development_dependency 'rubocop-performance', '~> 1.1.0'
31
31
  spec.add_development_dependency 'simplecov', '0.17.0'
32
32
  spec.add_development_dependency 'simplecov-html', '0.10.1'
33
33
  end
data/lib/br_danfe.rb CHANGED
@@ -1,16 +1,16 @@
1
- require "prawn"
2
- require "prawn/measurement_extensions"
3
- require "prawn/table"
4
- require "barby"
5
- require "barby/barcode/code_128"
6
- require "barby/outputter/prawn_outputter"
7
- require "nokogiri"
8
- require "yaml"
9
- require "ostruct"
10
- require "i18n"
11
- require "br_documents"
12
- require "br_danfe/danfe_lib/consts"
1
+ require 'prawn'
2
+ require 'prawn/measurement_extensions'
3
+ require 'prawn/table'
4
+ require 'barby'
5
+ require 'barby/barcode/code_128'
6
+ require 'barby/outputter/prawn_outputter'
7
+ require 'nokogiri'
8
+ require 'yaml'
9
+ require 'ostruct'
10
+ require 'i18n'
11
+ require 'br_documents'
12
+ require 'br_danfe/danfe_lib/consts'
13
13
 
14
- Dir[File.dirname(__FILE__) + "/**/*.rb"].each { |f| require f }
15
- I18n.load_path << File.expand_path("../../config/locales/pt-BR.yml", __FILE__)
14
+ Dir[File.dirname(__FILE__) + '/**/*.rb'].sort.each { |f| require f }
15
+ I18n.load_path << File.expand_path('../config/locales/pt-BR.yml', __dir__)
16
16
  Prawn::Font::AFM.hide_m17n_warning = true
data/lib/br_danfe/cce.rb CHANGED
@@ -16,6 +16,7 @@ module BrDanfe
16
16
  end
17
17
 
18
18
  private
19
+
19
20
  def generate
20
21
  CceLib::Header.new(@pdf).render
21
22
  CceLib::Barcode.new(@pdf, @xml).render
@@ -15,9 +15,10 @@ module BrDanfe
15
15
  end
16
16
 
17
17
  private
18
+
18
19
  def nfe_key
19
- node = @xml.css("procEventoNFe > evento > infEvento > chNFe")
20
- return node ? node.text : ""
20
+ node = @xml.css('procEventoNFe > evento > infEvento > chNFe')
21
+ node ? node.text : ''
21
22
  end
22
23
  end
23
24
  end
@@ -13,9 +13,10 @@ module BrDanfe
13
13
  end
14
14
 
15
15
  private
16
+
16
17
  def correction
17
- node = @xml.css("procEventoNFe > evento > infEvento > detEvento > xCorrecao")
18
- return node ? node.text : ""
18
+ node = @xml.css('procEventoNFe > evento > infEvento > detEvento > xCorrecao')
19
+ node ? node.text : ''
19
20
  end
20
21
  end
21
22
  end
@@ -3,22 +3,31 @@ module BrDanfe
3
3
  class Document
4
4
  def initialize
5
5
  @document = Prawn::Document.new(
6
- page_size: "A4",
6
+ page_size: 'A4',
7
7
  page_layout: :portrait,
8
8
  left_margin: 30,
9
9
  right_margin: 30,
10
10
  top_margin: 30,
11
- botton_margin: 30)
11
+ botton_margin: 30
12
+ )
12
13
 
13
- @document.font "Times-Roman"
14
+ @document.font 'Times-Roman'
14
15
  @document.line_width = 0.3
15
16
  end
16
17
 
17
18
  def method_missing(method_name, *args, &block)
18
- @document.send(method_name, *args, &block)
19
+ if @document.respond_to? method_name
20
+ @document.send method_name, *args, &block
21
+ else
22
+ super
23
+ end
24
+ end
25
+
26
+ def respond_to_missing?(method_name, include_private = false)
27
+ @document.respond_to?(method_name, include_private) || super
19
28
  end
20
29
 
21
- def box(height:, pad:5, &block)
30
+ def box(height:, pad: 5)
22
31
  bounding_box([0, cursor], width: page_width, height: height) do
23
32
  pad(pad) { indent(pad) { yield if block_given? } }
24
33
  stroke_bounds
@@ -36,6 +45,7 @@ module BrDanfe
36
45
  end
37
46
 
38
47
  private
48
+
39
49
  def page_width
40
50
  page.dimensions[2] - (page.margins[:left] + page.margins[:right])
41
51
  end
@@ -7,7 +7,7 @@ module BrDanfe
7
7
 
8
8
  def render
9
9
  @pdf.box(height: 110) do
10
- @pdf.text I18n.t("cce.legal_note")
10
+ @pdf.text I18n.t('cce.legal_note')
11
11
  end
12
12
  end
13
13
  end
@@ -7,7 +7,7 @@ module BrDanfe
7
7
 
8
8
  def render
9
9
  @pdf.box(height: 40) do
10
- @pdf.text I18n.t("cce.title"), align: :center, size: 25, pad: 6
10
+ @pdf.text I18n.t('cce.title'), align: :center, size: 25, pad: 6
11
11
  end
12
12
  end
13
13
  end
@@ -8,15 +8,16 @@ module BrDanfe
8
8
 
9
9
  def render
10
10
  @pdf.box(height: 36) do
11
- @pdf.text I18n.t("cce.key"), size: 8, style: :bold
11
+ @pdf.text I18n.t('cce.key'), size: 8, style: :bold
12
12
  @pdf.text nfe_key, pad: 5
13
13
  end
14
14
  end
15
15
 
16
16
  private
17
+
17
18
  def nfe_key
18
- node = @xml.css("procEventoNFe > evento > infEvento > chNFe")
19
- return node ? node.text : ""
19
+ node = @xml.css('procEventoNFe > evento > infEvento > chNFe')
20
+ node ? node.text : ''
20
21
  end
21
22
  end
22
23
  end