ofx 0.3.0 → 0.3.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.
- data/.rspec +1 -0
- data/Gemfile +1 -3
- data/Gemfile.lock +10 -10
- data/lib/ofx/parser/ofx102.rb +7 -12
- data/lib/ofx/version.rb +1 -1
- data/ofx.gemspec +1 -1
- data/spec/ofx/ofx102_spec.rb +13 -0
- metadata +6 -22
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color --format documentation
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ofx (0.
|
4
|
+
ofx (0.3.1)
|
5
5
|
nokogiri
|
6
6
|
|
7
7
|
GEM
|
8
|
-
remote: http://
|
8
|
+
remote: http://gems.simplesideias.com.br/
|
9
9
|
specs:
|
10
10
|
archive-tar-minitar (0.5.2)
|
11
11
|
columnize (0.3.2)
|
@@ -13,14 +13,14 @@ GEM
|
|
13
13
|
linecache19 (0.5.11)
|
14
14
|
ruby_core_source (>= 0.1.4)
|
15
15
|
nokogiri (1.4.4)
|
16
|
-
rspec (2.
|
17
|
-
rspec-core (~> 2.
|
18
|
-
rspec-expectations (~> 2.
|
19
|
-
rspec-mocks (~> 2.
|
20
|
-
rspec-core (2.
|
21
|
-
rspec-expectations (2.
|
16
|
+
rspec (2.6.0)
|
17
|
+
rspec-core (~> 2.6.0)
|
18
|
+
rspec-expectations (~> 2.6.0)
|
19
|
+
rspec-mocks (~> 2.6.0)
|
20
|
+
rspec-core (2.6.0)
|
21
|
+
rspec-expectations (2.6.0)
|
22
22
|
diff-lcs (~> 1.1.2)
|
23
|
-
rspec-mocks (2.
|
23
|
+
rspec-mocks (2.6.0)
|
24
24
|
ruby-debug-base19 (0.11.24)
|
25
25
|
columnize (>= 0.3.1)
|
26
26
|
linecache19 (>= 0.5.11)
|
@@ -37,5 +37,5 @@ PLATFORMS
|
|
37
37
|
|
38
38
|
DEPENDENCIES
|
39
39
|
ofx!
|
40
|
-
rspec (~> 2.
|
40
|
+
rspec (~> 2.6)
|
41
41
|
ruby-debug19
|
data/lib/ofx/parser/ofx102.rb
CHANGED
@@ -6,16 +6,11 @@ module OFX
|
|
6
6
|
ACCOUNT_TYPES = {
|
7
7
|
"CHECKING" => :checking
|
8
8
|
}
|
9
|
-
|
10
|
-
TRANSACTION_TYPES =
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
"DEP" => :dep,
|
15
|
-
"XFER" => :xfer,
|
16
|
-
"CASH" => :cash,
|
17
|
-
"CHECK" => :check
|
18
|
-
}
|
9
|
+
|
10
|
+
TRANSACTION_TYPES = [
|
11
|
+
'ATM', 'CASH', 'CHECK', 'CREDIT', 'DEBIT', 'DEP', 'DIRECTDEBIT', 'DIRECTDEP', 'DIV',
|
12
|
+
'FEE', 'INT', 'OTHER', 'PAYMENT', 'POS', 'REPEATPMT', 'SRVCHG', 'XFER'
|
13
|
+
].inject({}) { |hash, tran_type| hash[tran_type] = tran_type.downcase.to_sym; hash }
|
19
14
|
|
20
15
|
attr_reader :headers
|
21
16
|
attr_reader :body
|
@@ -54,7 +49,7 @@ module OFX
|
|
54
49
|
OFX::Account.new({
|
55
50
|
:bank_id => html.search("bankacctfrom > bankid").inner_text,
|
56
51
|
:id => html.search("bankacctfrom > acctid").inner_text,
|
57
|
-
:type => ACCOUNT_TYPES[html.search("bankacctfrom > accttype").inner_text],
|
52
|
+
:type => ACCOUNT_TYPES[html.search("bankacctfrom > accttype").inner_text.to_s.upcase],
|
58
53
|
:transactions => build_transactions,
|
59
54
|
:balance => build_balance,
|
60
55
|
:currency => html.search("bankmsgsrsv1 > stmttrnrs > stmtrs > curdef").inner_text
|
@@ -83,7 +78,7 @@ module OFX
|
|
83
78
|
end
|
84
79
|
|
85
80
|
def build_type(element)
|
86
|
-
TRANSACTION_TYPES[element.search("trntype").inner_text]
|
81
|
+
TRANSACTION_TYPES[element.search("trntype").inner_text.to_s.upcase]
|
87
82
|
end
|
88
83
|
|
89
84
|
def build_amount(element)
|
data/lib/ofx/version.rb
CHANGED
data/ofx.gemspec
CHANGED
data/spec/ofx/ofx102_spec.rb
CHANGED
@@ -26,4 +26,17 @@ describe OFX::Parser::OFX102 do
|
|
26
26
|
it "should set account" do
|
27
27
|
@parser.account.should be_a_kind_of(OFX::Account)
|
28
28
|
end
|
29
|
+
|
30
|
+
it "should know about all transaction types" do
|
31
|
+
valid_types = [
|
32
|
+
'CREDIT', 'DEBIT', 'INT', 'DIV', 'FEE', 'SRVCHG', 'DEP', 'ATM', 'POS', 'XFER',
|
33
|
+
'CHECK', 'PAYMENT', 'CASH', 'DIRECTDEP', 'DIRECTDEBIT', 'REPEATPMT', 'OTHER'
|
34
|
+
]
|
35
|
+
valid_types.sort.should == OFX::Parser::OFX102::TRANSACTION_TYPES.keys.sort
|
36
|
+
|
37
|
+
valid_types.each do |transaction_type|
|
38
|
+
transaction_type.downcase.to_sym.should equal OFX::Parser::OFX102::TRANSACTION_TYPES[transaction_type]
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
29
42
|
end
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ofx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 3
|
8
|
-
- 0
|
9
|
-
version: 0.3.0
|
4
|
+
prerelease:
|
5
|
+
version: 0.3.1
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Nando Vieira
|
@@ -14,8 +10,7 @@ autorequire:
|
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date: 2011-
|
18
|
-
default_executable:
|
13
|
+
date: 2011-05-16 00:00:00 Z
|
19
14
|
dependencies:
|
20
15
|
- !ruby/object:Gem::Dependency
|
21
16
|
name: nokogiri
|
@@ -25,8 +20,6 @@ dependencies:
|
|
25
20
|
requirements:
|
26
21
|
- - ">="
|
27
22
|
- !ruby/object:Gem::Version
|
28
|
-
segments:
|
29
|
-
- 0
|
30
23
|
version: "0"
|
31
24
|
type: :runtime
|
32
25
|
version_requirements: *id001
|
@@ -38,10 +31,7 @@ dependencies:
|
|
38
31
|
requirements:
|
39
32
|
- - ~>
|
40
33
|
- !ruby/object:Gem::Version
|
41
|
-
|
42
|
-
- 2
|
43
|
-
- 0
|
44
|
-
version: "2.0"
|
34
|
+
version: "2.6"
|
45
35
|
type: :development
|
46
36
|
version_requirements: *id002
|
47
37
|
- !ruby/object:Gem::Dependency
|
@@ -52,8 +42,6 @@ dependencies:
|
|
52
42
|
requirements:
|
53
43
|
- - ">="
|
54
44
|
- !ruby/object:Gem::Version
|
55
|
-
segments:
|
56
|
-
- 0
|
57
45
|
version: "0"
|
58
46
|
type: :development
|
59
47
|
version_requirements: *id003
|
@@ -77,6 +65,7 @@ extra_rdoc_files: []
|
|
77
65
|
|
78
66
|
files:
|
79
67
|
- .gitignore
|
68
|
+
- .rspec
|
80
69
|
- Gemfile
|
81
70
|
- Gemfile.lock
|
82
71
|
- README.rdoc
|
@@ -105,7 +94,6 @@ files:
|
|
105
94
|
- spec/ofx/ofx_spec.rb
|
106
95
|
- spec/ofx/transaction_spec.rb
|
107
96
|
- spec/spec_helper.rb
|
108
|
-
has_rdoc: true
|
109
97
|
homepage: http://rubygems.org/gems/ofx
|
110
98
|
licenses: []
|
111
99
|
|
@@ -119,21 +107,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
119
107
|
requirements:
|
120
108
|
- - ">="
|
121
109
|
- !ruby/object:Gem::Version
|
122
|
-
segments:
|
123
|
-
- 0
|
124
110
|
version: "0"
|
125
111
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
126
112
|
none: false
|
127
113
|
requirements:
|
128
114
|
- - ">="
|
129
115
|
- !ruby/object:Gem::Version
|
130
|
-
segments:
|
131
|
-
- 0
|
132
116
|
version: "0"
|
133
117
|
requirements: []
|
134
118
|
|
135
119
|
rubyforge_project:
|
136
|
-
rubygems_version: 1.
|
120
|
+
rubygems_version: 1.8.1
|
137
121
|
signing_key:
|
138
122
|
specification_version: 3
|
139
123
|
summary: A simple OFX (Open Financial Exchange) parser built on top of Nokogiri. Currently supports OFX 102, 200 and 211.
|