cnab 0.4.2 → 0.4.3
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.
- data/lib/cnab/helper.rb +4 -4
- data/lib/cnab/version.rb +1 -1
- data/spec/cnab.txt +2 -2
- data/spec/cnab/detalhe/segmento_t_u_spec.rb +1 -1
- data/spec/cnab_spec.rb +62 -28
- metadata +4 -4
data/lib/cnab/helper.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
module Cnab
|
2
2
|
module Helper
|
3
|
-
def method_missing(
|
4
|
-
return instance_variable_get("@#{
|
5
|
-
instance_variable_set("@#{
|
3
|
+
def method_missing(method_name)
|
4
|
+
return instance_variable_get("@#{method_name}") if instance_variable_defined?("@#{method_name}")
|
5
|
+
instance_variable_set("@#{method_name}", @line[@definition.send(method_name)].strip)
|
6
6
|
end
|
7
7
|
|
8
8
|
def respond_to_missing?(method_name, include_private = false)
|
9
|
-
return true
|
9
|
+
return true if definition.respond_to?(method_name)
|
10
10
|
super
|
11
11
|
end
|
12
12
|
|
data/lib/cnab/version.rb
CHANGED
data/spec/cnab.txt
CHANGED
@@ -2,5 +2,5 @@
|
|
2
2
|
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
|
3
3
|
0123456789012T4567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
|
4
4
|
0123456789012U4567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
|
5
|
-
|
6
|
-
|
5
|
+
012345658901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
|
6
|
+
012345658901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
|
@@ -20,7 +20,7 @@ describe Cnab::Detalhe::SegmentoTU do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
it "should raise an error if no segmento has the attribute" do
|
23
|
-
lambda { @segmento_t_u.valor_total }.should raise_error(
|
23
|
+
lambda { @segmento_t_u.valor_total }.should raise_error(NameError)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|
data/spec/cnab_spec.rb
CHANGED
@@ -2,47 +2,81 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe Cnab do
|
4
4
|
describe "#parse" do
|
5
|
-
context "withouth file" do
|
5
|
+
context "withouth a file" do
|
6
6
|
it "should raise an exception" do
|
7
7
|
lambda { Cnab.parse }.should raise_error Cnab::Exceptions::NoFileGiven
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
Cnab.parse("spec/cnab.txt").should be_an_instance_of(Cnab::Retorno)
|
15
|
-
end
|
11
|
+
it "should return a Retorno instance" do
|
12
|
+
Cnab.parse("spec/cnab.txt").should be_an_instance_of(Cnab::Retorno)
|
13
|
+
end
|
16
14
|
|
17
|
-
|
18
|
-
|
19
|
-
|
15
|
+
it "should return a HeaderArquivo instance" do
|
16
|
+
Cnab.parse("spec/cnab.txt").header_arquivo.should be_an_instance_of(Cnab::HeaderArquivo)
|
17
|
+
end
|
20
18
|
|
21
|
-
|
22
|
-
|
23
|
-
|
19
|
+
it "should return a HeaderLote instance" do
|
20
|
+
Cnab.parse("spec/cnab.txt").header_lote.should be_an_instance_of(Cnab::HeaderLote::Cobranca)
|
21
|
+
end
|
24
22
|
|
25
|
-
|
26
|
-
|
27
|
-
|
23
|
+
it "should return an array of detalhes" do
|
24
|
+
Cnab.parse("spec/cnab.txt").detalhes.should be_an_instance_of(Array)
|
25
|
+
end
|
28
26
|
|
29
|
-
|
30
|
-
|
31
|
-
|
27
|
+
it "should return a TrailerLote instance" do
|
28
|
+
Cnab.parse("spec/cnab.txt").trailer_lote.should be_an_instance_of(Cnab::TrailerLote::Cobranca)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should return a TrailerArquivo instance" do
|
32
|
+
Cnab.parse("spec/cnab.txt").trailer_arquivo.should be_an_instance_of(Cnab::TrailerArquivo)
|
33
|
+
end
|
32
34
|
|
33
|
-
|
34
|
-
|
35
|
-
|
35
|
+
context "with merge equal false" do
|
36
|
+
it "should return an SegmentoT instance inside detalhes array" do
|
37
|
+
Cnab.parse("spec/cnab.txt").detalhes.first.should be_an_instance_of(Cnab::Detalhe::SegmentoT)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
context "with merge equal true" do
|
42
|
+
it "should return an SegmentoTU instance inside detalhes array" do
|
43
|
+
Cnab.parse("spec/cnab.txt", true).detalhes.first.should be_an_instance_of(Cnab::Detalhe::SegmentoTU)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe "parsed object" do
|
49
|
+
it "should respond_to #densidade" do
|
50
|
+
Cnab.parse("spec/cnab.txt").header_arquivo.densidade.should == "67890"
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should respond_to #informacao1" do
|
54
|
+
Cnab.parse("spec/cnab.txt").header_lote.informacao1.should == "3456789012345678901234567890123456789012"
|
55
|
+
end
|
56
|
+
|
57
|
+
it "should respond_to #id_titulo" do
|
58
|
+
Cnab.parse("spec/cnab.txt").detalhes[0].id_titulo.should == "78901234567890123456"
|
59
|
+
end
|
60
|
+
|
61
|
+
it "should respond_to #valor_iof" do
|
62
|
+
Cnab.parse("spec/cnab.txt").detalhes[1].valor_iof.should == "234567890123456"
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should respond_to #qtd_registros" do
|
66
|
+
Cnab.parse("spec/cnab.txt").trailer_lote.qtd_registros.should == "789012"
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should respond_to #qtd_lotes" do
|
70
|
+
Cnab.parse("spec/cnab.txt").trailer_arquivo.qtd_lotes.should == "789012"
|
71
|
+
end
|
36
72
|
|
37
|
-
|
38
|
-
|
39
|
-
|
73
|
+
context "with merged #detalhes" do
|
74
|
+
it "should respond_to #id_titulo" do
|
75
|
+
Cnab.parse("spec/cnab.txt", true).detalhes[0].id_titulo.should == "78901234567890123456"
|
40
76
|
end
|
41
77
|
|
42
|
-
|
43
|
-
|
44
|
-
Cnab.parse("spec/cnab.txt", true).detalhes.first.should be_an_instance_of(Cnab::Detalhe::SegmentoTU)
|
45
|
-
end
|
78
|
+
it "should respond_to #valor_iof" do
|
79
|
+
Cnab.parse("spec/cnab.txt", true).detalhes[0].valor_iof.should == "234567890123456"
|
46
80
|
end
|
47
81
|
end
|
48
82
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cnab
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-04-
|
13
|
+
date: 2013-04-08 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -149,7 +149,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
149
149
|
version: '0'
|
150
150
|
segments:
|
151
151
|
- 0
|
152
|
-
hash: -
|
152
|
+
hash: -4380411786181304562
|
153
153
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
154
154
|
none: false
|
155
155
|
requirements:
|
@@ -158,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
158
|
version: '0'
|
159
159
|
segments:
|
160
160
|
- 0
|
161
|
-
hash: -
|
161
|
+
hash: -4380411786181304562
|
162
162
|
requirements: []
|
163
163
|
rubyforge_project:
|
164
164
|
rubygems_version: 1.8.25
|