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.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/lib/nfe_reader.rb +4 -4
- data/lib/nfe_reader/address.rb +38 -0
- data/lib/nfe_reader/authorization.rb +8 -10
- data/lib/nfe_reader/billing.rb +21 -0
- data/lib/nfe_reader/billing/duplicate.rb +14 -0
- data/lib/nfe_reader/carrier.rb +12 -14
- data/lib/nfe_reader/customer.rb +15 -57
- data/lib/nfe_reader/delivery.rb +16 -18
- data/lib/nfe_reader/document.rb +63 -65
- data/lib/nfe_reader/export.rb +8 -10
- data/lib/nfe_reader/fiscal.rb +29 -31
- data/lib/nfe_reader/header.rb +114 -123
- data/lib/nfe_reader/helpers/attribute_helper.rb +24 -0
- data/lib/nfe_reader/helpers/creator_helper.rb +40 -0
- data/lib/{helpers → nfe_reader/helpers}/nokogiri_hash.rb +2 -0
- data/lib/nfe_reader/information.rb +17 -19
- data/lib/nfe_reader/nfe.rb +78 -87
- data/lib/nfe_reader/person.rb +53 -0
- data/lib/nfe_reader/product.rb +69 -67
- data/lib/nfe_reader/product/armament.rb +18 -20
- data/lib/nfe_reader/product/cane.rb +22 -24
- data/lib/nfe_reader/product/exportation.rb +15 -17
- data/lib/nfe_reader/product/fuel.rb +13 -15
- data/lib/nfe_reader/product/importation.rb +42 -44
- data/lib/nfe_reader/product/medicament.rb +15 -17
- data/lib/nfe_reader/product/vehicle.rb +113 -115
- data/lib/nfe_reader/provider.rb +10 -40
- data/lib/nfe_reader/purchase.rb +9 -12
- data/lib/nfe_reader/removal.rb +17 -19
- data/lib/nfe_reader/taxation/cofins.rb +41 -41
- data/lib/nfe_reader/taxation/cofins_st.rb +15 -17
- data/lib/nfe_reader/taxation/icms.rb +80 -81
- data/lib/nfe_reader/taxation/importation_tax.rb +14 -16
- data/lib/nfe_reader/taxation/ipi.rb +35 -37
- data/lib/nfe_reader/taxation/issqn.rb +17 -19
- data/lib/nfe_reader/taxation/pis.rb +41 -41
- data/lib/nfe_reader/taxation/pis_st.rb +16 -18
- data/lib/nfe_reader/total.rb +71 -71
- data/lib/nfe_reader/transport.rb +76 -89
- data/lib/nfe_reader/version.rb +2 -4
- data/nfe-reader.gemspec +2 -1
- data/test/nfe_reader/address_test.rb +75 -0
- data/test/nfe_reader/authorization_test.rb +2 -2
- data/test/nfe_reader/{collection → billing}/duplicate_test.rb +2 -2
- data/test/nfe_reader/{collection_test.rb → billing_test.rb} +13 -13
- data/test/nfe_reader/cane_test.rb +2 -2
- data/test/nfe_reader/carrier_test.rb +4 -4
- data/test/nfe_reader/customer_test.rb +6 -101
- data/test/nfe_reader/delivery_test.rb +2 -2
- data/test/nfe_reader/document_test.rb +2 -2
- data/test/nfe_reader/export_test.rb +2 -2
- data/test/nfe_reader/fiscal_test.rb +2 -2
- data/test/nfe_reader/header_test.rb +2 -2
- data/test/{helpers → nfe_reader/helpers}/attributte_helper_test.rb +3 -3
- data/test/{helpers → nfe_reader/helpers}/creator_helper_test.rb +3 -3
- data/test/{helpers → nfe_reader/helpers}/nokogiri_test.rb +1 -1
- data/test/nfe_reader/information_test.rb +2 -2
- data/test/nfe_reader/nfe_test.rb +13 -13
- data/test/nfe_reader/person_test.rb +60 -0
- data/test/nfe_reader/product/armament_test.rb +2 -2
- data/test/nfe_reader/product/exportation_test.rb +2 -2
- data/test/nfe_reader/product/fuel_test.rb +2 -2
- data/test/nfe_reader/product/importation_test.rb +2 -2
- data/test/nfe_reader/product/medicament_test.rb +2 -2
- data/test/nfe_reader/product/vehicle_test.rb +2 -2
- data/test/nfe_reader/product_test.rb +2 -2
- data/test/nfe_reader/provider_test.rb +5 -118
- data/test/nfe_reader/purchase_test.rb +2 -2
- data/test/nfe_reader/removal_test.rb +2 -2
- data/test/nfe_reader/taxation/cofins_st_test.rb +2 -2
- data/test/nfe_reader/taxation/cofins_test.rb +2 -2
- data/test/nfe_reader/taxation/icms_test.rb +2 -2
- data/test/nfe_reader/taxation/importation_tax_test.rb +2 -2
- data/test/nfe_reader/taxation/ipi_test.rb +2 -2
- data/test/nfe_reader/taxation/issqn_test.rb +2 -2
- data/test/nfe_reader/taxation/pis_st_test.rb +2 -2
- data/test/nfe_reader/taxation/pis_test.rb +2 -2
- data/test/nfe_reader/total_test.rb +2 -2
- data/test/nfe_reader/transport_test.rb +3 -3
- metadata +37 -17
- data/lib/helpers/attribute_helper.rb +0 -18
- data/lib/helpers/creator_helper.rb +0 -32
- data/lib/nfe_reader/collection.rb +0 -38
- 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
|
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) {
|
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
|
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) {
|
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
|
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) {
|
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
|
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) {
|
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
|
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) {
|
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
|
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) {
|
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
|
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) {
|
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
|
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) {
|
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
|
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) {
|
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
|
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) {
|
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
|
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) {
|
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) {
|
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.
|
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-
|
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/
|
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/
|
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
|