ofx_parser 1.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +4 -0
- data/Gemfile.lock +24 -0
- data/History.txt +14 -0
- data/Manifest.txt +14 -0
- data/README.txt +105 -0
- data/Rakefile +2 -0
- data/lib/class-extension.rb +154 -0
- data/lib/ofx_parser.rb +3 -0
- data/lib/ofx_parser/mcc.rb +674 -0
- data/lib/ofx_parser/ofx.rb +128 -0
- data/lib/ofx_parser/ofx_parser.rb +188 -0
- data/ofx-parser.gemspec +23 -0
- data/pkg/ofx_parser-1.0.4.gem +0 -0
- data/pkg/ofx_parser-1.0.5.gem +0 -0
- data/pkg/ofx_parser-1.0.6.gem +0 -0
- data/test/fixtures/banking.ofx.sgml +87 -0
- data/test/fixtures/creditcard.ofx.sgml +79 -0
- data/test/fixtures/list.ofx.sgml +53 -0
- data/test/fixtures/malformed_header.ofx.sgml +106 -0
- data/test/fixtures/with_spaces.ofx.sgml +28 -0
- data/test/test_ofx_parser.rb +213 -0
- metadata +93 -0
@@ -0,0 +1,53 @@
|
|
1
|
+
OFXHEADER:100
|
2
|
+
DATA:OFXSGML
|
3
|
+
VERSION:102
|
4
|
+
SECURITY:NONE
|
5
|
+
ENCODING:USASCII
|
6
|
+
CHARSET:1252
|
7
|
+
COMPRESSION:NONE
|
8
|
+
OLDFILEUID:NONE
|
9
|
+
NEWFILEUID:e1dffb32-0a88-1111-12fb-111056c11111
|
10
|
+
|
11
|
+
<OFX>
|
12
|
+
<SIGNONMSGSRSV1>
|
13
|
+
<SONRS>
|
14
|
+
<STATUS>
|
15
|
+
<CODE>0
|
16
|
+
<SEVERITY>INFO
|
17
|
+
</STATUS>
|
18
|
+
<DTSERVER>20070702051227
|
19
|
+
<LANGUAGE>ENG
|
20
|
+
<DTPROFUP>20040828230101
|
21
|
+
<FI>
|
22
|
+
<ORG>Citigroup
|
23
|
+
<FID>24909
|
24
|
+
</FI>
|
25
|
+
<SESSCOOKIE>11111
|
26
|
+
</SONRS>
|
27
|
+
</SIGNONMSGSRSV1>
|
28
|
+
<SIGNUPMSGSRSV1>
|
29
|
+
<ACCTINFOTRNRS>
|
30
|
+
<TRNUID>e1dffb32-0a88-1111-12fb-111056c11111
|
31
|
+
<STATUS>
|
32
|
+
<CODE>0
|
33
|
+
<SEVERITY>INFO
|
34
|
+
</STATUS>
|
35
|
+
<CLTCOOKIE>4
|
36
|
+
<ACCTINFORS>
|
37
|
+
<DTACCTUP>20070702045709
|
38
|
+
<ACCTINFO>
|
39
|
+
<DESC>CREDIT CARD ************1111
|
40
|
+
<CCACCTINFO>
|
41
|
+
<CCACCTFROM>
|
42
|
+
<ACCTID>XXXXXXXXXXXX1111
|
43
|
+
</CCACCTFROM>
|
44
|
+
<SUPTXDL>Y
|
45
|
+
<XFERSRC>N
|
46
|
+
<XFERDEST>N
|
47
|
+
<SVCSTATUS>ACTIVE
|
48
|
+
</CCACCTINFO>
|
49
|
+
</ACCTINFO>
|
50
|
+
</ACCTINFORS>
|
51
|
+
</ACCTINFOTRNRS>
|
52
|
+
</SIGNUPMSGSRSV1>
|
53
|
+
</OFX>
|
@@ -0,0 +1,106 @@
|
|
1
|
+
|
2
|
+
OFXHEADER:100
|
3
|
+
DATA:OFXSGML
|
4
|
+
VERSION:102
|
5
|
+
SECURITY:NONE
|
6
|
+
ENCODING:USASCII
|
7
|
+
CHARSET:1252
|
8
|
+
COMPRESSION:NONE
|
9
|
+
OLDFILEUID:NONE
|
10
|
+
NEWFILEUID:NONE
|
11
|
+
<OFX>
|
12
|
+
<SIGNONMSGSRSV1>
|
13
|
+
<SONRS>
|
14
|
+
<STATUS>
|
15
|
+
<CODE>0
|
16
|
+
<SEVERITY>INFO
|
17
|
+
</STATUS>
|
18
|
+
<DTSERVER>20070820120000[0:GMT]
|
19
|
+
<LANGUAGE>ENG
|
20
|
+
</SONRS>
|
21
|
+
</SIGNONMSGSRSV1>
|
22
|
+
<CREDITCARDMSGSRSV1>
|
23
|
+
<CCSTMTTRNRS>
|
24
|
+
<TRNUID>1
|
25
|
+
<STATUS>
|
26
|
+
<CODE>0
|
27
|
+
<SEVERITY>INFO
|
28
|
+
<MESSAGE>Success
|
29
|
+
</STATUS>
|
30
|
+
<CCSTMTRS>
|
31
|
+
<CURDEF>USD
|
32
|
+
<CCACCTFROM>
|
33
|
+
<ACCTID>xxxxxxxxxxxxxxxx
|
34
|
+
</CCACCTFROM>
|
35
|
+
<BANKTRANLIST>
|
36
|
+
<DTSTART>20070706120000[0:GMT]
|
37
|
+
<DTEND>20070820120000[0:GMT]
|
38
|
+
<STMTTRN>
|
39
|
+
<TRNTYPE>CREDIT
|
40
|
+
<DTPOSTED>20070719120000[0:GMT]
|
41
|
+
<TRNAMT>4.68
|
42
|
+
<FITID>GEN20070719-0000004.68PERFECTCARD_REB00000
|
43
|
+
<NAME>MY CREDIT CARD
|
44
|
+
</STMTTRN>
|
45
|
+
<STMTTRN>
|
46
|
+
<TRNTYPE>DEBIT
|
47
|
+
<DTPOSTED>20070814120000[0:GMT]
|
48
|
+
<TRNAMT>-59.99
|
49
|
+
<FITID>2007081425411177225225085596201
|
50
|
+
<NAME>Another Store
|
51
|
+
</STMTTRN>
|
52
|
+
<STMTTRN>
|
53
|
+
<TRNTYPE>DEBIT
|
54
|
+
<DTPOSTED>20070815120000[0:GMT]
|
55
|
+
<TRNAMT>-1.50
|
56
|
+
<FITID>2007081555541867296004064778618
|
57
|
+
<NAME>PATHTVM 33RD STREET
|
58
|
+
</STMTTRN>
|
59
|
+
<STMTTRN>
|
60
|
+
<TRNTYPE>DEBIT
|
61
|
+
<DTPOSTED>20070817120000[0:GMT]
|
62
|
+
<TRNAMT>-39.37
|
63
|
+
<FITID>2007081755432867228100699618500
|
64
|
+
<NAME>Yet another store
|
65
|
+
</STMTTRN>
|
66
|
+
<STMTTRN>
|
67
|
+
<TRNTYPE>DEBIT
|
68
|
+
<DTPOSTED>20070814120000[0:GMT]
|
69
|
+
<TRNAMT>-381.21
|
70
|
+
<FITID>2007081455432867226000370175054
|
71
|
+
<NAME>Store
|
72
|
+
</STMTTRN>
|
73
|
+
<STMTTRN>
|
74
|
+
<TRNTYPE>DEBIT
|
75
|
+
<DTPOSTED>20070803120000[0:GMT]
|
76
|
+
<TRNAMT>-108.38
|
77
|
+
<FITID>2007080325411178214214070266502
|
78
|
+
<NAME>Store
|
79
|
+
</STMTTRN>
|
80
|
+
<STMTTRN>
|
81
|
+
<TRNTYPE>DEBIT
|
82
|
+
<DTPOSTED>20070819120000[0:GMT]
|
83
|
+
<TRNAMT>-27.00
|
84
|
+
<FITID>2007081955500807229017000653817
|
85
|
+
<NAME>ZENITH PARKING LLC
|
86
|
+
</STMTTRN>
|
87
|
+
<STMTTRN>
|
88
|
+
<TRNTYPE>DEBIT
|
89
|
+
<DTPOSTED>20070730120000[0:GMT]
|
90
|
+
<TRNAMT>-59.61
|
91
|
+
<FITID>2007073085486757210101972840130
|
92
|
+
<NAME>CHRYSLER CAMERA REPAIR
|
93
|
+
</STMTTRN>
|
94
|
+
</BANKTRANLIST>
|
95
|
+
<LEDGERBAL>
|
96
|
+
<BALAMT>-2.00
|
97
|
+
<DTASOF>20070820120000[0:GMT]
|
98
|
+
</LEDGERBAL>
|
99
|
+
<AVAILBAL>
|
100
|
+
<BALAMT>1.00
|
101
|
+
<DTASOF>20070820120000[0:GMT]
|
102
|
+
</AVAILBAL>
|
103
|
+
</CCSTMTRS>
|
104
|
+
</CCSTMTTRNRS>
|
105
|
+
</CREDITCARDMSGSRSV1>
|
106
|
+
</OFX>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
OFXHEADER:100
|
2
|
+
DATA:OFXSGML
|
3
|
+
VERSION:102
|
4
|
+
SECURITY:NONE
|
5
|
+
ENCODING:USASCII
|
6
|
+
CHARSET:1252
|
7
|
+
COMPRESSION:NONE
|
8
|
+
OLDFILEUID:
|
9
|
+
NEWFILEUID:NONE
|
10
|
+
|
11
|
+
<OFX>
|
12
|
+
<SIGNONMSGSRSV1>
|
13
|
+
<SONRS>
|
14
|
+
<STATUS>
|
15
|
+
<CODE> 0
|
16
|
+
<SEVERITY> INFO
|
17
|
+
<MESSAGE> The user is authentic; operation succeeded.
|
18
|
+
</STATUS>
|
19
|
+
<DTSERVER> 20070623142635.169[-5:CDT]
|
20
|
+
<LANGUAGE>ENG
|
21
|
+
<FI>
|
22
|
+
<ORG> U.S. Bank
|
23
|
+
<FID> 1402
|
24
|
+
</FI>
|
25
|
+
<INTU.BID>1402
|
26
|
+
</SONRS>
|
27
|
+
</SIGNONMSGSRSV1>
|
28
|
+
</OFX>
|
@@ -0,0 +1,213 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
|
3
|
+
require File.dirname(File.expand_path(__FILE__)) + '/../lib/ofx_parser.rb'
|
4
|
+
|
5
|
+
class OfxParserTest < Test::Unit::TestCase
|
6
|
+
|
7
|
+
OFX_FILES = {}
|
8
|
+
|
9
|
+
fixtures_dir = File.dirname(__FILE__) + '/fixtures'
|
10
|
+
|
11
|
+
# Load up the xml files
|
12
|
+
Dir.open(fixtures_dir).each do |fn|
|
13
|
+
next unless fn =~ /\.ofx\.sgml$/
|
14
|
+
|
15
|
+
ofx = File.read(fixtures_dir + "/#{fn}")
|
16
|
+
ofx.gsub!(/\r?\n/,"\r\n") # change line endings to \r\n
|
17
|
+
|
18
|
+
OFX_FILES[fn.scan(/^[^.]*/)[0].to_s.to_sym] = ofx
|
19
|
+
end
|
20
|
+
|
21
|
+
def setup
|
22
|
+
# empty ofx parser - useful for testing other methods independently
|
23
|
+
@parser = OfxParser::OfxParser
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_pre_process_strips_spaces
|
27
|
+
header, body = @parser.pre_process(OFX_FILES[:with_spaces])
|
28
|
+
|
29
|
+
assert_no_match(/>\s+.*?</, body, "should be no spaces after a tag close")
|
30
|
+
assert_no_match(/>.*?\s+</, body, "should be no spaces before a tag close")
|
31
|
+
assert_no_match(/>\s+</, body, "should be no spaces between two tags")
|
32
|
+
assert_match("The user is authentic; operation succeeded.", body, "content in tags should not be altered")
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_pre_process_header
|
36
|
+
header, body = @parser.pre_process(OFX_FILES[:with_spaces])
|
37
|
+
|
38
|
+
assert_equal 9, header.keys.size
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_parse_datetime
|
42
|
+
assert_equal DateTime.civil(2007, 6, 22, 19, 0, 0, Rational(-5,24)), @parser.parse_datetime('20070622190000.200[-5:CDT]')
|
43
|
+
assert_equal DateTime.civil(2007, 6, 22, 19, 0, 0, Rational(9,24)), @parser.parse_datetime('20070622190000.200[+9.0:JST]')
|
44
|
+
assert_equal DateTime.civil(2007, 6, 22), @parser.parse_datetime('20070622')
|
45
|
+
assert_equal DateTime.civil(2007, 6, 22, 19, 0, 0), @parser.parse_datetime('20070622190000')
|
46
|
+
assert_equal DateTime.civil(2007, 6, 22, 19, 0, 0), @parser.parse_datetime('20070622190000.200')
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_sign_on
|
50
|
+
ofx = OfxParser::OfxParser.parse(OFX_FILES[:with_spaces])
|
51
|
+
|
52
|
+
assert_equal '0', ofx.sign_on.status.code
|
53
|
+
assert_equal 'INFO', ofx.sign_on.status.severity
|
54
|
+
assert_equal 'The user is authentic; operation succeeded.', ofx.sign_on.status.message
|
55
|
+
assert_equal 'Success', ofx.sign_on.status.code_desc
|
56
|
+
|
57
|
+
assert_equal DateTime.civil(2007,6,23,14,26,35,Rational(-5, 24)), ofx.sign_on.date
|
58
|
+
assert_equal 'ENG', ofx.sign_on.language
|
59
|
+
assert_equal 'U.S. Bank', ofx.sign_on.institute.name
|
60
|
+
assert_equal '1402', ofx.sign_on.institute.id
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_no_accounts
|
64
|
+
ofx = OfxParser::OfxParser.parse(OFX_FILES[:with_spaces])
|
65
|
+
|
66
|
+
assert_equal 0, ofx.accounts.size
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_banking
|
70
|
+
ofx = OfxParser::OfxParser.parse(OFX_FILES[:banking])
|
71
|
+
|
72
|
+
acct = ofx.bank_account
|
73
|
+
|
74
|
+
assert_equal '103333333333', acct.number
|
75
|
+
assert_equal '033000033', acct.routing_number
|
76
|
+
assert_equal :CHECKING, acct.type
|
77
|
+
assert_equal '1234.09', acct.balance
|
78
|
+
assert_equal DateTime.civil(2007,6,23,14,26,35,Rational(-5, 24)), acct.balance_date
|
79
|
+
assert_equal '9C24229A0077EAA50000011353C9E00743FC', acct.transaction_uid
|
80
|
+
|
81
|
+
statement = acct.statement
|
82
|
+
|
83
|
+
assert_equal 'USD', statement.currency
|
84
|
+
assert_equal DateTime.civil(2007,6,4,19,0,0,Rational(-5, 24)), statement.start_date
|
85
|
+
assert_equal DateTime.civil(2007,6,22,19,0,0,Rational(-5, 24)), statement.end_date
|
86
|
+
|
87
|
+
transactions = statement.transactions
|
88
|
+
assert_equal 4, transactions.size
|
89
|
+
|
90
|
+
assert_equal :PAYMENT, transactions[0].type
|
91
|
+
assert_equal OfxParser::Transaction::TYPE[:PAYMENT], transactions[0].type_desc
|
92
|
+
assert_equal DateTime.civil(2007,6,6,12,0,0), transactions[0].date
|
93
|
+
assert_equal '-11.11', transactions[0].amount
|
94
|
+
assert_equal '11111111 22', transactions[0].fit_id
|
95
|
+
assert_equal nil, transactions[0].check_number
|
96
|
+
assert_equal nil, transactions[0].sic
|
97
|
+
assert_equal nil, transactions[0].sic_desc
|
98
|
+
assert_equal 'WEB AUTHORIZED PMT FOO INC', transactions[0].payee
|
99
|
+
assert_equal 'Download from usbank.com. FOO INC', transactions[0].memo
|
100
|
+
|
101
|
+
assert_equal :CHECK, transactions[1].type
|
102
|
+
assert_equal OfxParser::Transaction::TYPE[:CHECK], transactions[1].type_desc
|
103
|
+
assert_equal DateTime.civil(2007,6,7,12,0,0), transactions[1].date
|
104
|
+
assert_equal '-111.11', transactions[1].amount
|
105
|
+
assert_equal '22222A', transactions[1].fit_id
|
106
|
+
assert_equal '0000009611', transactions[1].check_number
|
107
|
+
assert_equal nil, transactions[1].sic
|
108
|
+
assert_equal nil, transactions[1].sic_desc
|
109
|
+
assert_equal 'CHECK', transactions[1].payee
|
110
|
+
assert_equal 'Download from usbank.com.', transactions[1].memo
|
111
|
+
|
112
|
+
assert_equal :DIRECTDEP, transactions[2].type
|
113
|
+
assert_equal OfxParser::Transaction::TYPE[:DIRECTDEP], transactions[2].type_desc
|
114
|
+
assert_equal DateTime.civil(2007,6,14,12,0,0), transactions[2].date
|
115
|
+
assert_equal '1111.11', transactions[2].amount
|
116
|
+
assert_equal 'X34AE33', transactions[2].fit_id
|
117
|
+
assert_equal nil, transactions[2].check_number
|
118
|
+
assert_equal nil, transactions[2].sic
|
119
|
+
assert_equal nil, transactions[2].sic_desc
|
120
|
+
assert_equal 'ELECTRONIC DEPOSIT BAR INC', transactions[2].payee
|
121
|
+
assert_equal 'Download from usbank.com. BAR INC', transactions[2].memo
|
122
|
+
|
123
|
+
assert_equal :CREDIT, transactions[3].type
|
124
|
+
assert_equal OfxParser::Transaction::TYPE[:CREDIT], transactions[3].type_desc
|
125
|
+
assert_equal DateTime.civil(2007,6,19,12,0,0), transactions[3].date
|
126
|
+
assert_equal '11.11', transactions[3].amount
|
127
|
+
assert_equal '8 8 9089743', transactions[3].fit_id
|
128
|
+
assert_equal nil, transactions[3].check_number
|
129
|
+
assert_equal nil, transactions[3].sic
|
130
|
+
assert_equal nil, transactions[3].sic_desc
|
131
|
+
assert_equal 'ATM DEPOSIT US BANK ANYTOWNAS', transactions[3].payee
|
132
|
+
assert_equal 'Download from usbank.com. US BANK ANYTOWN ASUS1', transactions[3].memo
|
133
|
+
|
134
|
+
assert_equal 1, ofx.accounts.size
|
135
|
+
end
|
136
|
+
|
137
|
+
def test_creditcard
|
138
|
+
ofx = OfxParser::OfxParser.parse(OFX_FILES[:creditcard])
|
139
|
+
|
140
|
+
acct = ofx.credit_card
|
141
|
+
|
142
|
+
assert_equal 'XXXXXXXXXXXX1111', acct.number
|
143
|
+
assert_equal '19000.99', acct.remaining_credit
|
144
|
+
assert_equal DateTime.civil(2007,6,23,19,20,13), acct.remaining_credit_date
|
145
|
+
assert_equal '-1111.01', acct.balance
|
146
|
+
assert_equal DateTime.civil(2007,6,23,19,20,13), acct.balance_date
|
147
|
+
assert_equal '0', acct.transaction_uid
|
148
|
+
|
149
|
+
statement = acct.statement
|
150
|
+
|
151
|
+
assert_equal 'USD', statement.currency
|
152
|
+
assert_equal DateTime.civil(2007,5,9,12,0,0), statement.start_date
|
153
|
+
assert_equal DateTime.civil(2007,6,8,12,0,0), statement.end_date
|
154
|
+
|
155
|
+
transactions = statement.transactions
|
156
|
+
assert_equal 3, transactions.size
|
157
|
+
|
158
|
+
assert_equal :DEBIT, transactions[0].type
|
159
|
+
assert_equal OfxParser::Transaction::TYPE[:DEBIT], transactions[0].type_desc
|
160
|
+
assert_equal DateTime.civil(2007,5,10,17,0,0), transactions[0].date
|
161
|
+
assert_equal '-19.17', transactions[0].amount
|
162
|
+
assert_equal 'xx', transactions[0].fit_id
|
163
|
+
assert_equal nil, transactions[0].check_number
|
164
|
+
assert_equal '5912', transactions[0].sic
|
165
|
+
assert_equal OfxParser::Mcc::CODES['5912'], transactions[0].sic_desc
|
166
|
+
assert_equal 'WALGREEN 34638675 ANYTOWN', transactions[0].payee
|
167
|
+
assert_equal '', transactions[0].memo
|
168
|
+
|
169
|
+
assert_equal :DEBIT, transactions[1].type
|
170
|
+
assert_equal OfxParser::Transaction::TYPE[:DEBIT], transactions[1].type_desc
|
171
|
+
assert_equal DateTime.civil(2007,5,12,17,0,0), transactions[1].date
|
172
|
+
assert_equal '-12.0', transactions[1].amount
|
173
|
+
assert_equal 'yy-56', transactions[1].fit_id
|
174
|
+
assert_equal nil, transactions[1].check_number
|
175
|
+
assert_equal '7933', transactions[1].sic
|
176
|
+
assert_equal OfxParser::Mcc::CODES['7933'], transactions[1].sic_desc
|
177
|
+
assert_equal 'SUNSET BOWL ANYTOWN', transactions[1].payee
|
178
|
+
assert_equal '', transactions[1].memo
|
179
|
+
|
180
|
+
assert_equal :CREDIT, transactions[2].type
|
181
|
+
assert_equal OfxParser::Transaction::TYPE[:CREDIT], transactions[2].type_desc
|
182
|
+
assert_equal DateTime.civil(2007,5,26,17,0,0), transactions[2].date
|
183
|
+
assert_equal '11.01', transactions[2].amount
|
184
|
+
assert_equal '78-9', transactions[2].fit_id
|
185
|
+
assert_equal nil, transactions[2].check_number
|
186
|
+
assert_equal '0000', transactions[2].sic
|
187
|
+
assert_equal nil, transactions[2].sic_desc
|
188
|
+
assert_equal 'ELECTRONIC PAYMENT-THANK YOU', transactions[2].payee
|
189
|
+
assert_equal '', transactions[2].memo
|
190
|
+
|
191
|
+
assert_equal 1, ofx.accounts.size
|
192
|
+
assert_equal [], ofx.signup_account_info
|
193
|
+
end
|
194
|
+
|
195
|
+
def test_account_listing
|
196
|
+
ofx = OfxParser::OfxParser.parse(OFX_FILES[:list])
|
197
|
+
|
198
|
+
cc_info = ofx.signup_account_info.first
|
199
|
+
assert_equal 'CREDIT CARD ************1111', cc_info.desc
|
200
|
+
assert_equal 'XXXXXXXXXXXX1111', cc_info.number
|
201
|
+
|
202
|
+
assert_equal 0, ofx.accounts.size
|
203
|
+
end
|
204
|
+
|
205
|
+
|
206
|
+
def test_malformed_header_parses
|
207
|
+
assert_nothing_raised do
|
208
|
+
OfxParser::OfxParser.parse(OFX_FILES[:malformed_header])
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
212
|
+
|
213
|
+
end
|
metadata
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ofx_parser
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 1.0.6
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Andrew A. Smith
|
9
|
+
- Armand du Plessis
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
|
14
|
+
date: 2011-02-23 00:00:00 +02:00
|
15
|
+
default_executable:
|
16
|
+
dependencies:
|
17
|
+
- !ruby/object:Gem::Dependency
|
18
|
+
name: hpricot
|
19
|
+
prerelease: false
|
20
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
21
|
+
none: false
|
22
|
+
requirements:
|
23
|
+
- - ">="
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: "0"
|
26
|
+
type: :runtime
|
27
|
+
version_requirements: *id001
|
28
|
+
description: ofx-parser is an OFX 1.x parser written in Ruby. Forked from original ofx-parser gem to remove UK monetary support
|
29
|
+
email:
|
30
|
+
- adp@bank.io
|
31
|
+
executables: []
|
32
|
+
|
33
|
+
extensions: []
|
34
|
+
|
35
|
+
extra_rdoc_files: []
|
36
|
+
|
37
|
+
files:
|
38
|
+
- Gemfile
|
39
|
+
- Gemfile.lock
|
40
|
+
- History.txt
|
41
|
+
- Manifest.txt
|
42
|
+
- README.txt
|
43
|
+
- Rakefile
|
44
|
+
- lib/class-extension.rb
|
45
|
+
- lib/ofx_parser.rb
|
46
|
+
- lib/ofx_parser/mcc.rb
|
47
|
+
- lib/ofx_parser/ofx.rb
|
48
|
+
- lib/ofx_parser/ofx_parser.rb
|
49
|
+
- ofx-parser.gemspec
|
50
|
+
- pkg/ofx_parser-1.0.4.gem
|
51
|
+
- pkg/ofx_parser-1.0.5.gem
|
52
|
+
- pkg/ofx_parser-1.0.6.gem
|
53
|
+
- test/fixtures/banking.ofx.sgml
|
54
|
+
- test/fixtures/creditcard.ofx.sgml
|
55
|
+
- test/fixtures/list.ofx.sgml
|
56
|
+
- test/fixtures/malformed_header.ofx.sgml
|
57
|
+
- test/fixtures/with_spaces.ofx.sgml
|
58
|
+
- test/test_ofx_parser.rb
|
59
|
+
has_rdoc: true
|
60
|
+
homepage: http://ofx-parser.rubyforge.org/
|
61
|
+
licenses: []
|
62
|
+
|
63
|
+
post_install_message:
|
64
|
+
rdoc_options: []
|
65
|
+
|
66
|
+
require_paths:
|
67
|
+
- lib
|
68
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
69
|
+
none: false
|
70
|
+
requirements:
|
71
|
+
- - ">="
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: "0"
|
74
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
|
+
none: false
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: "0"
|
80
|
+
requirements: []
|
81
|
+
|
82
|
+
rubyforge_project: ofx_parser
|
83
|
+
rubygems_version: 1.5.2
|
84
|
+
signing_key:
|
85
|
+
specification_version: 3
|
86
|
+
summary: ofx-parser is an OFX 1.x parser written in Ruby. Forked from original ofx-parser gem to remove UK monetary support
|
87
|
+
test_files:
|
88
|
+
- test/fixtures/banking.ofx.sgml
|
89
|
+
- test/fixtures/creditcard.ofx.sgml
|
90
|
+
- test/fixtures/list.ofx.sgml
|
91
|
+
- test/fixtures/malformed_header.ofx.sgml
|
92
|
+
- test/fixtures/with_spaces.ofx.sgml
|
93
|
+
- test/test_ofx_parser.rb
|