nfe_reader 1.0.5 → 1.0.6

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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/lib/nfe_reader.rb +4 -4
  4. data/lib/nfe_reader/address.rb +38 -0
  5. data/lib/nfe_reader/authorization.rb +8 -10
  6. data/lib/nfe_reader/billing.rb +21 -0
  7. data/lib/nfe_reader/billing/duplicate.rb +14 -0
  8. data/lib/nfe_reader/carrier.rb +12 -14
  9. data/lib/nfe_reader/customer.rb +15 -57
  10. data/lib/nfe_reader/delivery.rb +16 -18
  11. data/lib/nfe_reader/document.rb +63 -65
  12. data/lib/nfe_reader/export.rb +8 -10
  13. data/lib/nfe_reader/fiscal.rb +29 -31
  14. data/lib/nfe_reader/header.rb +114 -123
  15. data/lib/nfe_reader/helpers/attribute_helper.rb +24 -0
  16. data/lib/nfe_reader/helpers/creator_helper.rb +40 -0
  17. data/lib/{helpers → nfe_reader/helpers}/nokogiri_hash.rb +2 -0
  18. data/lib/nfe_reader/information.rb +17 -19
  19. data/lib/nfe_reader/nfe.rb +78 -87
  20. data/lib/nfe_reader/person.rb +53 -0
  21. data/lib/nfe_reader/product.rb +69 -67
  22. data/lib/nfe_reader/product/armament.rb +18 -20
  23. data/lib/nfe_reader/product/cane.rb +22 -24
  24. data/lib/nfe_reader/product/exportation.rb +15 -17
  25. data/lib/nfe_reader/product/fuel.rb +13 -15
  26. data/lib/nfe_reader/product/importation.rb +42 -44
  27. data/lib/nfe_reader/product/medicament.rb +15 -17
  28. data/lib/nfe_reader/product/vehicle.rb +113 -115
  29. data/lib/nfe_reader/provider.rb +10 -40
  30. data/lib/nfe_reader/purchase.rb +9 -12
  31. data/lib/nfe_reader/removal.rb +17 -19
  32. data/lib/nfe_reader/taxation/cofins.rb +41 -41
  33. data/lib/nfe_reader/taxation/cofins_st.rb +15 -17
  34. data/lib/nfe_reader/taxation/icms.rb +80 -81
  35. data/lib/nfe_reader/taxation/importation_tax.rb +14 -16
  36. data/lib/nfe_reader/taxation/ipi.rb +35 -37
  37. data/lib/nfe_reader/taxation/issqn.rb +17 -19
  38. data/lib/nfe_reader/taxation/pis.rb +41 -41
  39. data/lib/nfe_reader/taxation/pis_st.rb +16 -18
  40. data/lib/nfe_reader/total.rb +71 -71
  41. data/lib/nfe_reader/transport.rb +76 -89
  42. data/lib/nfe_reader/version.rb +2 -4
  43. data/nfe-reader.gemspec +2 -1
  44. data/test/nfe_reader/address_test.rb +75 -0
  45. data/test/nfe_reader/authorization_test.rb +2 -2
  46. data/test/nfe_reader/{collection → billing}/duplicate_test.rb +2 -2
  47. data/test/nfe_reader/{collection_test.rb → billing_test.rb} +13 -13
  48. data/test/nfe_reader/cane_test.rb +2 -2
  49. data/test/nfe_reader/carrier_test.rb +4 -4
  50. data/test/nfe_reader/customer_test.rb +6 -101
  51. data/test/nfe_reader/delivery_test.rb +2 -2
  52. data/test/nfe_reader/document_test.rb +2 -2
  53. data/test/nfe_reader/export_test.rb +2 -2
  54. data/test/nfe_reader/fiscal_test.rb +2 -2
  55. data/test/nfe_reader/header_test.rb +2 -2
  56. data/test/{helpers → nfe_reader/helpers}/attributte_helper_test.rb +3 -3
  57. data/test/{helpers → nfe_reader/helpers}/creator_helper_test.rb +3 -3
  58. data/test/{helpers → nfe_reader/helpers}/nokogiri_test.rb +1 -1
  59. data/test/nfe_reader/information_test.rb +2 -2
  60. data/test/nfe_reader/nfe_test.rb +13 -13
  61. data/test/nfe_reader/person_test.rb +60 -0
  62. data/test/nfe_reader/product/armament_test.rb +2 -2
  63. data/test/nfe_reader/product/exportation_test.rb +2 -2
  64. data/test/nfe_reader/product/fuel_test.rb +2 -2
  65. data/test/nfe_reader/product/importation_test.rb +2 -2
  66. data/test/nfe_reader/product/medicament_test.rb +2 -2
  67. data/test/nfe_reader/product/vehicle_test.rb +2 -2
  68. data/test/nfe_reader/product_test.rb +2 -2
  69. data/test/nfe_reader/provider_test.rb +5 -118
  70. data/test/nfe_reader/purchase_test.rb +2 -2
  71. data/test/nfe_reader/removal_test.rb +2 -2
  72. data/test/nfe_reader/taxation/cofins_st_test.rb +2 -2
  73. data/test/nfe_reader/taxation/cofins_test.rb +2 -2
  74. data/test/nfe_reader/taxation/icms_test.rb +2 -2
  75. data/test/nfe_reader/taxation/importation_tax_test.rb +2 -2
  76. data/test/nfe_reader/taxation/ipi_test.rb +2 -2
  77. data/test/nfe_reader/taxation/issqn_test.rb +2 -2
  78. data/test/nfe_reader/taxation/pis_st_test.rb +2 -2
  79. data/test/nfe_reader/taxation/pis_test.rb +2 -2
  80. data/test/nfe_reader/total_test.rb +2 -2
  81. data/test/nfe_reader/transport_test.rb +3 -3
  82. metadata +37 -17
  83. data/lib/helpers/attribute_helper.rb +0 -18
  84. data/lib/helpers/creator_helper.rb +0 -32
  85. data/lib/nfe_reader/collection.rb +0 -38
  86. data/lib/nfe_reader/collection/duplicate.rb +0 -16
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Removal do
3
+ describe NfeReader::Removal do
4
4
  def nfe_hash
5
5
  {
6
6
  retirada: {
@@ -17,7 +17,7 @@ describe Nfe::Reader::Removal do
17
17
  }
18
18
  end
19
19
 
20
- let(:removal) { Nfe::Reader::Removal.new(nfe_hash[:retirada]) }
20
+ let(:removal) { NfeReader::Removal.new(nfe_hash[:retirada]) }
21
21
 
22
22
  it '#cnpj' do
23
23
  removal.cnpj.must_equal '99819146000120'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::CofinsSt do
3
+ describe NfeReader::CofinsSt do
4
4
  def nfe_hash
5
5
  {
6
6
  COFINSST: {
@@ -13,7 +13,7 @@ describe Nfe::Reader::CofinsSt do
13
13
  }
14
14
  end
15
15
 
16
- let(:cofins) { Nfe::Reader::CofinsSt.new(nfe_hash[:COFINSST]) }
16
+ let(:cofins) { NfeReader::CofinsSt.new(nfe_hash[:COFINSST]) }
17
17
 
18
18
  it '#base' do
19
19
  cofins.base.must_equal '100.00'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Cofins do
3
+ describe NfeReader::Cofins do
4
4
  def nfe_hash
5
5
  {
6
6
  COFINSNT: {
@@ -14,7 +14,7 @@ describe Nfe::Reader::Cofins do
14
14
  }
15
15
  end
16
16
 
17
- let(:cofins) { Nfe::Reader::Cofins.new(nfe_hash[:COFINSNT]) }
17
+ let(:cofins) { NfeReader::Cofins.new(nfe_hash) }
18
18
 
19
19
  it '#cst' do
20
20
  cofins.cst.must_equal '06'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Icms do
3
+ describe NfeReader::Icms do
4
4
  def nfe_hash
5
5
  {
6
6
  ICMS: {
@@ -30,7 +30,7 @@ describe Nfe::Reader::Icms do
30
30
  }
31
31
  end
32
32
 
33
- let(:icms) { Nfe::Reader::Icms.new(nfe_hash[:ICMS]) }
33
+ let(:icms) { NfeReader::Icms.new(nfe_hash) }
34
34
 
35
35
  it '#origin' do
36
36
  icms.origin.must_equal '1'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::ImportationTax do
3
+ describe NfeReader::ImportationTax do
4
4
  def nfe_hash
5
5
  {
6
6
  II: {
@@ -12,7 +12,7 @@ describe Nfe::Reader::ImportationTax do
12
12
  }
13
13
  end
14
14
 
15
- let(:cofins) { Nfe::Reader::ImportationTax.new(nfe_hash[:II]) }
15
+ let(:cofins) { NfeReader::ImportationTax.new(nfe_hash[:II]) }
16
16
 
17
17
  it '#base' do
18
18
  cofins.base.must_equal '100.00'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Ipi do
3
+ describe NfeReader::Ipi do
4
4
  def nfe_hash
5
5
  {
6
6
  ipi: {
@@ -26,7 +26,7 @@ describe Nfe::Reader::Ipi do
26
26
  }
27
27
  end
28
28
 
29
- let(:ipi) { Nfe::Reader::Ipi.new(nfe_hash[:ipi]) }
29
+ let(:ipi) { NfeReader::Ipi.new(nfe_hash[:ipi]) }
30
30
 
31
31
  it '#frame_class' do
32
32
  ipi.frame_class.must_equal '0'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Issqn do
3
+ describe NfeReader::Issqn do
4
4
  def nfe_hash
5
5
  {
6
6
  issqn: {
@@ -14,7 +14,7 @@ describe Nfe::Reader::Issqn do
14
14
  }
15
15
  end
16
16
 
17
- let(:issqn) { Nfe::Reader::Issqn.new(nfe_hash[:issqn]) }
17
+ let(:issqn) { NfeReader::Issqn.new(nfe_hash[:issqn]) }
18
18
 
19
19
  it '#cst' do
20
20
  issqn.cst.must_equal '10'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::PisSt do
3
+ describe NfeReader::PisSt do
4
4
  def nfe_hash
5
5
  {
6
6
  pisst: {
@@ -13,7 +13,7 @@ describe Nfe::Reader::PisSt do
13
13
  }
14
14
  end
15
15
 
16
- let(:pis) { Nfe::Reader::PisSt.new(nfe_hash[:pisst]) }
16
+ let(:pis) { NfeReader::PisSt.new(nfe_hash[:pisst]) }
17
17
 
18
18
  it '#base' do
19
19
  pis.base.must_equal '100.00'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Pis do
3
+ describe NfeReader::Pis do
4
4
  def nfe_hash
5
5
  {
6
6
  pis: {
@@ -14,7 +14,7 @@ describe Nfe::Reader::Pis do
14
14
  }
15
15
  end
16
16
 
17
- let(:pis) { Nfe::Reader::Pis.new(nfe_hash[:pis]) }
17
+ let(:pis) { NfeReader::Pis.new(nfe_hash) }
18
18
 
19
19
  it '#cst' do
20
20
  pis.cst.must_equal '10'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Total do
3
+ describe NfeReader::Total do
4
4
  def nfe_hash
5
5
  {
6
6
  total: {
@@ -40,7 +40,7 @@ describe Nfe::Reader::Total do
40
40
  }
41
41
  end
42
42
 
43
- let(:total) { Nfe::Reader::Total.new(nfe_hash[:total]) }
43
+ let(:total) { NfeReader::Total.new(nfe_hash[:total]) }
44
44
 
45
45
  it '#icms_base' do
46
46
  total.icms_base.must_equal '1000.00'
@@ -1,6 +1,6 @@
1
1
  require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
- describe Nfe::Reader::Transport do
3
+ describe NfeReader::Transport do
4
4
  def transport_hash
5
5
  {
6
6
  transport: {
@@ -68,7 +68,7 @@ describe Nfe::Reader::Transport do
68
68
  }
69
69
  end
70
70
 
71
- let(:transport) { Nfe::Reader::Transport.new(transport_hash[:transport]) }
71
+ let(:transport) { NfeReader::Transport.new(transport_hash[:transport]) }
72
72
 
73
73
  it '#kind' do
74
74
  transport.kind.must_equal '1'
@@ -163,7 +163,7 @@ describe Nfe::Reader::Transport do
163
163
  end
164
164
 
165
165
  describe 'seals' do
166
- let(:transport) { Nfe::Reader::Transport.new(seals_hash[:transport]) }
166
+ let(:transport) { NfeReader::Transport.new(seals_hash[:transport]) }
167
167
 
168
168
  it 'have a string with all seal' do
169
169
  transport.seals.must_equal '1234567890, 1239126304, 1231313123'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nfe_reader
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo Becker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-01 00:00:00.000000000 Z
11
+ date: 2014-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0.9'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: nokogiri
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -78,22 +92,24 @@ files:
78
92
  - LICENSE.txt
79
93
  - README.md
80
94
  - Rakefile
81
- - lib/helpers/attribute_helper.rb
82
- - lib/helpers/creator_helper.rb
83
- - lib/helpers/nokogiri_hash.rb
84
95
  - lib/nfe_reader.rb
96
+ - lib/nfe_reader/address.rb
85
97
  - lib/nfe_reader/authorization.rb
98
+ - lib/nfe_reader/billing.rb
99
+ - lib/nfe_reader/billing/duplicate.rb
86
100
  - lib/nfe_reader/carrier.rb
87
- - lib/nfe_reader/collection.rb
88
- - lib/nfe_reader/collection/duplicate.rb
89
101
  - lib/nfe_reader/customer.rb
90
102
  - lib/nfe_reader/delivery.rb
91
103
  - lib/nfe_reader/document.rb
92
104
  - lib/nfe_reader/export.rb
93
105
  - lib/nfe_reader/fiscal.rb
94
106
  - lib/nfe_reader/header.rb
107
+ - lib/nfe_reader/helpers/attribute_helper.rb
108
+ - lib/nfe_reader/helpers/creator_helper.rb
109
+ - lib/nfe_reader/helpers/nokogiri_hash.rb
95
110
  - lib/nfe_reader/information.rb
96
111
  - lib/nfe_reader/nfe.rb
112
+ - lib/nfe_reader/person.rb
97
113
  - lib/nfe_reader/product.rb
98
114
  - lib/nfe_reader/product/armament.rb
99
115
  - lib/nfe_reader/product/cane.rb
@@ -119,22 +135,24 @@ files:
119
135
  - nfe-reader.gemspec
120
136
  - test/files/sample-nfe.xml
121
137
  - test/files/sample2-nfe.xml
122
- - test/helpers/attributte_helper_test.rb
123
- - test/helpers/creator_helper_test.rb
124
- - test/helpers/nokogiri_test.rb
138
+ - test/nfe_reader/address_test.rb
125
139
  - test/nfe_reader/authorization_test.rb
140
+ - test/nfe_reader/billing/duplicate_test.rb
141
+ - test/nfe_reader/billing_test.rb
126
142
  - test/nfe_reader/cane_test.rb
127
143
  - test/nfe_reader/carrier_test.rb
128
- - test/nfe_reader/collection/duplicate_test.rb
129
- - test/nfe_reader/collection_test.rb
130
144
  - test/nfe_reader/customer_test.rb
131
145
  - test/nfe_reader/delivery_test.rb
132
146
  - test/nfe_reader/document_test.rb
133
147
  - test/nfe_reader/export_test.rb
134
148
  - test/nfe_reader/fiscal_test.rb
135
149
  - test/nfe_reader/header_test.rb
150
+ - test/nfe_reader/helpers/attributte_helper_test.rb
151
+ - test/nfe_reader/helpers/creator_helper_test.rb
152
+ - test/nfe_reader/helpers/nokogiri_test.rb
136
153
  - test/nfe_reader/information_test.rb
137
154
  - test/nfe_reader/nfe_test.rb
155
+ - test/nfe_reader/person_test.rb
138
156
  - test/nfe_reader/product/armament_test.rb
139
157
  - test/nfe_reader/product/exportation_test.rb
140
158
  - test/nfe_reader/product/fuel_test.rb
@@ -183,22 +201,24 @@ summary: NFe XML Extractor
183
201
  test_files:
184
202
  - test/files/sample-nfe.xml
185
203
  - test/files/sample2-nfe.xml
186
- - test/helpers/attributte_helper_test.rb
187
- - test/helpers/creator_helper_test.rb
188
- - test/helpers/nokogiri_test.rb
204
+ - test/nfe_reader/address_test.rb
189
205
  - test/nfe_reader/authorization_test.rb
206
+ - test/nfe_reader/billing/duplicate_test.rb
207
+ - test/nfe_reader/billing_test.rb
190
208
  - test/nfe_reader/cane_test.rb
191
209
  - test/nfe_reader/carrier_test.rb
192
- - test/nfe_reader/collection/duplicate_test.rb
193
- - test/nfe_reader/collection_test.rb
194
210
  - test/nfe_reader/customer_test.rb
195
211
  - test/nfe_reader/delivery_test.rb
196
212
  - test/nfe_reader/document_test.rb
197
213
  - test/nfe_reader/export_test.rb
198
214
  - test/nfe_reader/fiscal_test.rb
199
215
  - test/nfe_reader/header_test.rb
216
+ - test/nfe_reader/helpers/attributte_helper_test.rb
217
+ - test/nfe_reader/helpers/creator_helper_test.rb
218
+ - test/nfe_reader/helpers/nokogiri_test.rb
200
219
  - test/nfe_reader/information_test.rb
201
220
  - test/nfe_reader/nfe_test.rb
221
+ - test/nfe_reader/person_test.rb
202
222
  - test/nfe_reader/product/armament_test.rb
203
223
  - test/nfe_reader/product/exportation_test.rb
204
224
  - test/nfe_reader/product/fuel_test.rb
@@ -1,18 +0,0 @@
1
- module AttributeHelper
2
- def attributes
3
- @attributes ||= attributes_to_hash
4
- end
5
-
6
- def attributes_to_hash
7
- attrs = Hash.new
8
-
9
- instance_variables.each do |var|
10
- key = var.to_s.gsub /^@/, ''
11
- value = instance_variable_get(var)
12
-
13
- attrs[key] = value if [String, Hash].include? value.class
14
- end
15
-
16
- attrs
17
- end
18
- end
@@ -1,32 +0,0 @@
1
- module CreatorHelper
2
- def create_resource(klass, attrs = {})
3
- return unless attrs
4
- klass.new(attrs)
5
- end
6
-
7
- def create_resources(klass, attrs = {})
8
- resources = []
9
-
10
- return resources unless attrs
11
-
12
- attrs.each do |a|
13
- resources << klass.new(a.last)
14
- end
15
-
16
- resources
17
- end
18
-
19
- def to_array(attrs = {})
20
- array = []
21
-
22
- if attrs.is_a? Array
23
- attrs.each do |hash|
24
- array << hash.map { |key, value| value }
25
- end
26
- else
27
- array << attrs.map { |key, value| value }
28
- end
29
-
30
- array
31
- end
32
- end
@@ -1,38 +0,0 @@
1
- # encoding: UTF-8
2
- module Nfe
3
- module Reader
4
- # Mapeia as Cobrancas
5
- class Collection
6
- include ::AttributeHelper
7
-
8
- attr_reader :number, :value, :descont, :value_net, :duplicates
9
-
10
- def initialize(attrs = {})
11
- if attrs[:fat]
12
- @number = attrs[:fat][:nFat]
13
- @value = attrs[:fat][:vOrig]
14
- @descont = attrs[:fat][:vDesc]
15
- @value_net = attrs[:fat][:vLiq]
16
- end
17
-
18
- @duplicates = set_duplicates(attrs[:dup])
19
- end
20
-
21
- def set_duplicates(attrs = {})
22
- duplicates = []
23
-
24
- return duplicates unless attrs
25
-
26
- if attrs.is_a? Array
27
- attrs.each do |d|
28
- duplicates << Duplicate.new(d)
29
- end
30
- else
31
- duplicates << Duplicate.new(attrs)
32
- end
33
-
34
- duplicates
35
- end
36
- end
37
- end
38
- end
@@ -1,16 +0,0 @@
1
- # encoding: UTF-8
2
- module Nfe
3
- module Reader
4
- class Duplicate
5
- include ::AttributeHelper
6
-
7
- attr_reader :number, :expiration, :value
8
-
9
- def initialize(attrs = {})
10
- @number = attrs[:nDup]
11
- @expiration = attrs[:dVenc]
12
- @value = attrs[:vDup]
13
- end
14
- end
15
- end
16
- end