egg2ofx 0.1.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/README +1 -0
- data/Rakefile +118 -0
- data/bin/egg2ofx +13 -0
- data/lib/egg/account.rb +8 -0
- data/lib/egg/date.rb +10 -0
- data/lib/egg/description.rb +14 -0
- data/lib/egg/money.rb +13 -0
- data/lib/egg/parser.rb +32 -0
- data/lib/egg/parsers/document_parser.rb +42 -0
- data/lib/egg/parsers/recent_transactions_document_parser.rb +19 -0
- data/lib/egg/parsers/recent_transactions_transaction_parser.rb +12 -0
- data/lib/egg/parsers/statement_document_parser.rb +17 -0
- data/lib/egg/parsers/statement_transaction_parser.rb +19 -0
- data/lib/egg/parsers/transaction_parser.rb +29 -0
- data/lib/egg/statement.rb +24 -0
- data/lib/egg/transaction.rb +33 -0
- data/lib/egg.rb +15 -0
- data/lib/ofx.rb +49 -0
- data/test/fixtures/recent_transactions.html +299 -0
- data/test/fixtures/statement.html +429 -0
- data/test/integration/recent_transactions_integration_test.rb +92 -0
- data/test/integration/statement_integration_test.rb +103 -0
- data/test/test_helper.rb +7 -0
- data/test/unit/description_test.rb +27 -0
- data/test/unit/ofx_test.rb +15 -0
- data/test/unit/parser_test.rb +24 -0
- data/test/unit/parsers/recent_transactions_transaction_parser_test.rb +23 -0
- data/test/unit/parsers/statement_transaction_parser_test.rb +23 -0
- metadata +102 -0
@@ -0,0 +1,299 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
4
|
+
|
5
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
6
|
+
<head id="ctl01_header"><title>
|
7
|
+
Egg Card Recent transactions
|
8
|
+
</title>
|
9
|
+
<script type="text/javascript">
|
10
|
+
/* <![CDATA[ */
|
11
|
+
rum_script_host = "your.egg.com";
|
12
|
+
rum_image_host = "phonehome.egg.com";
|
13
|
+
if (typeof FM_Key == "undefined" && location.protocol.match(/^http/)) {
|
14
|
+
_FTop=new Date().getTime();
|
15
|
+
_FTopKey="3.3.48.21";
|
16
|
+
document.write("<s" + "cript s" + "rc=\"" + location.protocol +
|
17
|
+
"//" + rum_script_host + "/scripts/autogenerated/rum.js\">" +
|
18
|
+
"<\/s" + "cript>");
|
19
|
+
}
|
20
|
+
/* ]]> */
|
21
|
+
</script>
|
22
|
+
|
23
|
+
<script type="text/javascript">
|
24
|
+
/* <![CDATA[ */
|
25
|
+
if ((typeof $AA == "undefined") && location.protocol.indexOf("http") != -1) {
|
26
|
+
(BmonImage = new Image).src = location.protocol
|
27
|
+
+ "//" + rum_image_host + "/rum/data.gif?DT=2&vp=1&vt=3.3.48.21&l="
|
28
|
+
+ escape(document.location) + "&ts=" + (new Date).getTime();
|
29
|
+
}
|
30
|
+
/* ]]> */
|
31
|
+
</script>
|
32
|
+
|
33
|
+
<link rel="Stylesheet" type="text/css" href="/Styles/Global.css" /><link rel="Stylesheet" type="text/css" href="/Styles/GlobalNavigation.css" /><link rel="Stylesheet" type="text/css" href="/Styles/DataArea.css" /><link rel="Stylesheet" type="text/css" href="/Styles/CallToAction.css" /><link rel="stylesheet" type="text/css" href="/Styles/EMMMessage.css" /><link rel="stylesheet" type="text/css" href="/styles/Printing.css" media="print" />
|
34
|
+
|
35
|
+
<script src="/scripts/standard.js" type="text/javascript"></script>
|
36
|
+
<script src="/scripts/iebugfix.js" type="text/javascript"></script>
|
37
|
+
<script src="/scripts/sec.js" type="text/javascript"></script>
|
38
|
+
|
39
|
+
<meta http-equiv="Pragma" content="no-cache" /><meta http-equiv="Cache-Control" content="no-cache" /><meta http-equiv="Expires" content="Fri, 07 Nov 2008 12:27:21 GMT" /><meta http-equiv="Content-Type" content="text/html;charset=utf-8" /></head>
|
40
|
+
<body id="servicinglayout" >
|
41
|
+
<form action="/customer/eggcard/recenttransactions.aspx" method="post" id="aspnetForm">
|
42
|
+
<div>
|
43
|
+
<input type="hidden" name="sh1" id="sh1" value="c33f9d3b34378d0fc3aae38af381212529595839" />
|
44
|
+
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="3jnOBG7uHsgQeFMB8pO32iLzL1+g6Op1EVdQAC49Q+a3n3JGJKT2UTLGR+dOwB8S" />
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<div class="topnav">
|
48
|
+
|
49
|
+
<div class="title"></div>
|
50
|
+
<div class="mainnavigation">
|
51
|
+
<h1 class="offset">Main navigation</h1>
|
52
|
+
<ul >
|
53
|
+
<li class="skip"><a href="#maincontent">Skip to main content</a></li>
|
54
|
+
<li id="ctl01_topbar_ctl01_liApply"><a href="/customer/apply/select.aspx">Apply</a></li>
|
55
|
+
<li id="ctl01_topbar_ctl01_liLegalInfo"><a href="/customer/legalinfo.aspx">Legal info</a></li>
|
56
|
+
<li id="ctl01_topbar_ctl01_liContactUs"><a href="/customer/contactus.aspx">Contact us</a></li>
|
57
|
+
<li id="ctl01_topbar_ctl01_liNeedHelp" class="lastchild"><a href="/customer/needhelp.aspx">Need help?</a></li>
|
58
|
+
</ul>
|
59
|
+
</div>
|
60
|
+
<div class="servicingnavigation">
|
61
|
+
<div class="tabs">
|
62
|
+
<h1 class="offset" >Servicing options</h1>
|
63
|
+
<ul>
|
64
|
+
<li id="ctl01_topbar_ctl01_liYourMoney" class="active"><a href="/customer/yourmoney.aspx"><span>Your money</span></a></li>
|
65
|
+
<li id="ctl01_topbar_ctl01_liMoveMoney" class="inactive"><a href="/customer/movemoney/select.aspx"><span>Move money</span></a></li>
|
66
|
+
<li id="ctl01_topbar_ctl01_liSecurityDetails" class="inactive"><a href="/customer/securitydetails/select.aspx"><span>Security details</span></a></li>
|
67
|
+
<li id="ctl01_topbar_ctl01_liPersonalDetails" class="inactive"><a href="/customer/personaldetails/yourinformation.aspx"><span>Personal details</span></a></li>
|
68
|
+
</ul>
|
69
|
+
</div>
|
70
|
+
<a href="/security/logouthandler.ashx" class="logout"><span>log out</span></a>
|
71
|
+
</div>
|
72
|
+
|
73
|
+
|
74
|
+
</div>
|
75
|
+
|
76
|
+
<div id="page">
|
77
|
+
<div id="area1">
|
78
|
+
|
79
|
+
|
80
|
+
<div class="menu">
|
81
|
+
<h2>Egg Card</h2>
|
82
|
+
<ul>
|
83
|
+
<li id="ctl01_leftcell_leftsidebar_ctl01_liRecentTransactions" class="selected"><a href="/customer/eggcard/recenttransactions.aspx" id="ctl01_leftcell_leftsidebar_ctl01_lnkRecentTransactions">Recent transactions</a></li>
|
84
|
+
<li id="ctl01_leftcell_leftsidebar_ctl01_liStatements"><a href="/customer/eggcard/statements.aspx" id="ctl01_leftcell_leftsidebar_ctl01_lnkStatements">Statements</a></li>
|
85
|
+
<li id="ctl01_leftcell_leftsidebar_ctl01_liViewPin"><a href="/customer/eggcard/viewpin.aspx" id="ctl01_leftcell_leftsidebar_ctl01_lnkViewPin">View your PIN</a></li>
|
86
|
+
<li id="ctl01_leftcell_leftsidebar_ctl01_liOneOffPayment"><a href="/customer/eggcard/makepayment.aspx" id="ctl01_leftcell_leftsidebar_ctl01_lnkOneOffPayment">One-off payment</a></li>
|
87
|
+
<li id="ctl01_leftcell_leftsidebar_ctl01_liBalanceTransfer"><a href="/customer/eggcard/balancetransfer.aspx" id="ctl01_leftcell_leftsidebar_ctl01_lnkBalanceTransfer">Balance transfers</a></li>
|
88
|
+
<li id="ctl01_leftcell_leftsidebar_ctl01_liDirectDebit"><a href="/customer/eggcard/directdebit/select.aspx" id="ctl01_leftcell_leftsidebar_ctl01_lnkDirectDebit">Your Direct Debit</a></li>
|
89
|
+
<li id="ctl01_leftcell_leftsidebar_ctl01_liCashBack"><a href="/customer/eggcard/cashback.aspx" id="ctl01_leftcell_leftsidebar_ctl01_lnkCashBack">Cash back and offers</a></li>
|
90
|
+
<li id="ctl01_leftcell_leftsidebar_ctl01_liCardAdmin"><a href="/customer/eggcard/admin/select.aspx" id="ctl01_leftcell_leftsidebar_ctl01_lnkCardAdmin">Egg Card admin</a></li>
|
91
|
+
<li id="ctl01_leftcell_leftsidebar_ctl01_liRquestLimit"><a href="/customer/eggcard/creditlimit.aspx" id="ctl01_leftcell_leftsidebar_ctl01_lnkRequestLimit">Request credit limit</a></li>
|
92
|
+
<li id="ctl01_leftcell_leftsidebar_ctl01_liCreditAgreement"><a href="/customer/eggcard/creditagreement.aspx" id="ctl01_leftcell_leftsidebar_ctl01_lnkCreditAgreement">Credit agreements</a></li>
|
93
|
+
</ul>
|
94
|
+
</div>
|
95
|
+
|
96
|
+
</div>
|
97
|
+
<div id="area2" class="servicing">
|
98
|
+
|
99
|
+
<!-- accountinfo -->
|
100
|
+
<h1><img id="imgEggMoneyTitle" src="/images/pagetitles/eggcardrecenttransactions.gif" alt="Egg Card recent transactions." /></h1>
|
101
|
+
|
102
|
+
<p class="intro">
|
103
|
+
This page shows any transactions that have been put on your account since your last statement.
|
104
|
+
You can see your previous statements by selecting the date below.
|
105
|
+
</p>
|
106
|
+
<script type="text/javascript">
|
107
|
+
/* <![CDATA[ */
|
108
|
+
function openHelp() {
|
109
|
+
helpwin=window.open("/customer/eggcard/help/transactions.aspx",'EggCardTransactionsHelpHome','width=490,height=500,resize=yes,status=yes,scrollbars=yes,location=yes');
|
110
|
+
}
|
111
|
+
/* ]]> */
|
112
|
+
</script>
|
113
|
+
<div class="staticdatablock">
|
114
|
+
<fieldset>
|
115
|
+
<legend>Card details</legend>
|
116
|
+
<h2>Card details</h2>
|
117
|
+
<div class="datadisplay">
|
118
|
+
<span class="replaydatatag">card</span>
|
119
|
+
<span id="lblCardTypeName" class="largereplaydata">Egg Card</span>
|
120
|
+
</div>
|
121
|
+
<div class="datadisplay">
|
122
|
+
<span class="replaydatatag paddingtopxsmall">card number</span>
|
123
|
+
<span id="lblCardNumber" class="creditcard">1234 4321 1234 4321</span>
|
124
|
+
<span id="lblCardNumberForPrint" class="creditcardforprint">1234 **** **** 4321</span>
|
125
|
+
</div>
|
126
|
+
<div class="datadisplay">
|
127
|
+
<span class="replaydatatag">credit limit</span>
|
128
|
+
<span id="lblCreditLimit" class="largereplaydata">
|
129
|
+
£7,700.00
|
130
|
+
</span>
|
131
|
+
</div>
|
132
|
+
<div class="datadisplay">
|
133
|
+
<span class="replaydatatag">interest rate charged</span>
|
134
|
+
<span id="lblInterestRate" class="largereplaydata">
|
135
|
+
16.9% pa variable for purchases
|
136
|
+
</span>
|
137
|
+
</div>
|
138
|
+
<div class="dataentry">
|
139
|
+
|
140
|
+
<script type="text/javascript">
|
141
|
+
function getSelectedStatementIndex() {
|
142
|
+
var dropDown = document.getElementById('ctl01_content_recenttransactions_lstPreviousStatements');
|
143
|
+
document.location = "/customer/eggcard/statements.aspx?index=" + dropDown.selectedIndex;
|
144
|
+
}
|
145
|
+
</script>
|
146
|
+
<label id="spanViewStatementDated" for="ctl01_content_recenttransactions_lstPreviousStatements">view statement dated</label>
|
147
|
+
<select name="ctl01$content$recenttransactions$lstPreviousStatements" id="ctl01_content_recenttransactions_lstPreviousStatements" class="smallselect">
|
148
|
+
<option value="18 October 2009">18 October 2009</option>
|
149
|
+
<option value="18 September 2009">18 September 2009</option>
|
150
|
+
<option value="18 August 2009">18 August 2009</option>
|
151
|
+
<option value="18 July 2009">18 July 2009</option>
|
152
|
+
<option value="18 June 2009">18 June 2009</option>
|
153
|
+
<option value="18 May 2009">18 May 2009</option>
|
154
|
+
<option value="18 April 2009">18 April 2009</option>
|
155
|
+
<option value="18 March 2009">18 March 2009</option>
|
156
|
+
<option value="18 February 2009">18 February 2009</option>
|
157
|
+
<option value="18 January 2009">18 January 2009</option>
|
158
|
+
<option value="18 December 2008">18 December 2008</option>
|
159
|
+
<option value="18 November 2008">18 November 2008</option>
|
160
|
+
|
161
|
+
</select><a href="../../WebControls/Servicing/Card/RecentTransactions/#" id="ctl01_content_recenttransactions_aViewStatement" class="calltoaction" onclick="getSelectedStatementIndex();return false;">go</a>
|
162
|
+
|
163
|
+
<div class="calltoaction calltoactionpadtop floatright">
|
164
|
+
<a href="/customer/eggcard/admin/aboutyoureggcard.aspx">more details about your Egg Card</a>
|
165
|
+
</div>
|
166
|
+
</div>
|
167
|
+
</fieldset>
|
168
|
+
</div>
|
169
|
+
<!-- END accountinfo -->
|
170
|
+
|
171
|
+
<!-- Transactions -->
|
172
|
+
|
173
|
+
<p>Some recent transactions may not be shown here as these are still being processed.</p>
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
<table id="tblTransactionsTable" class="grid area2width" cellspacing="1" summary="Your recent transactions">
|
178
|
+
<caption class="gridcaptionleft">Transaction details</caption>
|
179
|
+
<thead>
|
180
|
+
<tr>
|
181
|
+
<th class="date">date</th>
|
182
|
+
<th class="description">description</th>
|
183
|
+
<th class="amount">amount</th>
|
184
|
+
</tr>
|
185
|
+
</thead>
|
186
|
+
<tfoot>
|
187
|
+
<tr>
|
188
|
+
<th colspan="2">Current balance:</th>
|
189
|
+
<td class="money">£4,708.31 DR</td>
|
190
|
+
</tr>
|
191
|
+
</tfoot>
|
192
|
+
<tbody>
|
193
|
+
|
194
|
+
<tr>
|
195
|
+
<td class="date">18 Oct 2009</td>
|
196
|
+
<td class="description">EST ANGLIA HGH LDG CR BRANDON </td>
|
197
|
+
<td class="money">£6.40</td>
|
198
|
+
</tr>
|
199
|
+
|
200
|
+
<tr class="alt">
|
201
|
+
<td class="date">02 Nov 2009</td>
|
202
|
+
<td class="description">PAYMENT 2 EGG . </td>
|
203
|
+
<td class="money">£-71.77</td></tr>
|
204
|
+
|
205
|
+
<tr class="alt">
|
206
|
+
<td class="date">05 Nov 2009</td>
|
207
|
+
<td class="description">LONDON & S E RAIL LONDON BRIDG </td>
|
208
|
+
<td class="money">£16.65</td></tr>
|
209
|
+
|
210
|
+
|
211
|
+
</tbody>
|
212
|
+
</table>
|
213
|
+
|
214
|
+
<div class="calltoaction calltoactionpadbottom">
|
215
|
+
<a href="#" onclick="JavaScript:openHelp();return false;">find out more about your transactions</a>
|
216
|
+
</div>
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
<!-- END Transactions -->
|
221
|
+
|
222
|
+
<!-- PaymentInfo -->
|
223
|
+
<div class="staticdatablock">
|
224
|
+
<h2>About your payments</h2>
|
225
|
+
<div class="datadisplay">
|
226
|
+
<label for="ctl01_content_recenttransactions_lblMinimumPayment" id="ctl01_content_recenttransactions_lblRegPayments">regular payments</label>
|
227
|
+
|
228
|
+
|
229
|
+
|
230
|
+
<span id="ctl01_content_recenttransactions_lblMinimumPayment" class="largereplaydata">You are currently paying the minimum amount each month.</span>
|
231
|
+
|
232
|
+
|
233
|
+
|
234
|
+
</div>
|
235
|
+
</div>
|
236
|
+
<!-- END PaymentInfo -->
|
237
|
+
|
238
|
+
<div class="choices">
|
239
|
+
<h3>Choices</h3>
|
240
|
+
<ul>
|
241
|
+
<li><span class="home anchor"><a href="/customer/yourmoney.aspx">your money</a></span></li>
|
242
|
+
</ul>
|
243
|
+
</div>
|
244
|
+
|
245
|
+
</div>
|
246
|
+
<div id="area3">
|
247
|
+
<div class="tcshigh">
|
248
|
+
|
249
|
+
<!-- MarketingSidebar -->
|
250
|
+
|
251
|
+
<div id="divMarketing" class="tcs">
|
252
|
+
<h3>Promotional Links</h3>
|
253
|
+
<ul>
|
254
|
+
<li>
|
255
|
+
<script type='text/javascript'>
|
256
|
+
//<![CDATA[
|
257
|
+
document.write('<!-- Egg Banking plc Sat Nov 07 12:27:24 2009 --><!-- begin ContentInfo:Detail --><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="left"> <font face="Arial, Helvetica, sans-serif" size="2"> <TABLE width="128" border="0" cellspacing="0" cellpadding="0"><tr><td> <a href=\'http://new.egg.com/visitor/0,,3_11217--View_822,00.html\' target=\'_blank\'><img border="0" src="https://new.egg.com/com.egg/images/Prop/10Feb06_SecPhishing.gif" alt="find out more about security"></a></td></tr></table><br><br> </font> </td> </tr></table><!-- end ContentInfo:Detail -->');
|
258
|
+
//]]>
|
259
|
+
</script></li>
|
260
|
+
<li>
|
261
|
+
<script type='text/javascript'>
|
262
|
+
//<![CDATA[
|
263
|
+
document.write('<!-- Egg Banking plc Sat Nov 07 12:27:24 2009 --><!-- begin ContentInfo:Detail --><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="left"> <font face="Arial, Helvetica, sans-serif" size="2"> <TABLE width="128" border="0" cellspacing="0" cellpadding="0"><tr><td><a href="https://new.egg.com/viewpin"><img border="0" src="https://new.egg.com/com.egg/images/Prop/tcs_doyouknowpin.gif" alt="check your PIN"></a></td></tr></table><br><br> </font> </td> </tr></table><!-- end ContentInfo:Detail -->');
|
264
|
+
//]]>
|
265
|
+
</script></li>
|
266
|
+
</ul>
|
267
|
+
</div>
|
268
|
+
|
269
|
+
<!-- MarketingSidebar end -->
|
270
|
+
</div>
|
271
|
+
</div>
|
272
|
+
</div>
|
273
|
+
|
274
|
+
<div><input name="PAGE_ID" id="PAGE_ID" type="hidden" value="EggCardRecentTransactions" /></div>
|
275
|
+
|
276
|
+
<div><input type="hidden" id="individual_id" name="individual_id" value="1176359" /></div>
|
277
|
+
|
278
|
+
<div>
|
279
|
+
|
280
|
+
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="6YEyIXCC+GSPPkAMkuHTzkCu+zw2eTzicwzXdEwfy2F868DCYsMRgdmGPYD9t5D/HwEe2zqV02RaxWpESB/cPzDYtBQMnaDuQ2ae5Gp52Uv2TKvwK41AH4VHO7glRclxj1fqwcFlwcTl3GBJf+NE/w==" />
|
281
|
+
</div></form>
|
282
|
+
|
283
|
+
|
284
|
+
<div>
|
285
|
+
<span style="behavior:url(#default#clientCaps)" id="oCC"></span>
|
286
|
+
</div>
|
287
|
+
<script type="text/javascript">
|
288
|
+
/* <![CDATA[ */
|
289
|
+
_FBottomKey="3.3.48.21";
|
290
|
+
if(typeof($FM_MarkStop)=="function") $FM_MarkStop();
|
291
|
+
/* ]]> */
|
292
|
+
</script>
|
293
|
+
<noscript>
|
294
|
+
<div>
|
295
|
+
<img src="https://phonehome.egg.com/rum/data.gif?DT=3&vp=1&vt=3.3.48.21" style="border:0;" width="1" height="1" alt=" " />
|
296
|
+
</div>
|
297
|
+
</noscript>
|
298
|
+
</body>
|
299
|
+
</html>
|