egg2ofx 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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>
|