forex 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,28 @@
1
+ require 'forex'
2
+ require 'vcr'
3
+ require 'webmock'
4
+
5
+ include Forex # so we don't need to prefix
6
+
7
+ # Requires supporting ruby files with custom matchers and macros, etc,
8
+ # # in spec/support/ and its subdirectories.
9
+ puts File.dirname(__FILE__)
10
+ Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
11
+
12
+ # This file was generated by the `rspec --init` command. Conventionally, all
13
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
14
+ # Require this file using `require "spec_helper"` to ensure that it is only
15
+ # loaded once.
16
+ #
17
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
18
+ RSpec.configure do |config|
19
+ config.treat_symbols_as_metadata_keys_with_true_values = true
20
+ config.run_all_when_everything_filtered = true
21
+ config.filter_run :focus
22
+
23
+ # Run specs in random order to surface order dependencies. If you find an
24
+ # order dependency and want to debug it, you can fix the order by providing
25
+ # the seed, which is printed after each run.
26
+ # --seed 1234
27
+ config.order = 'random'
28
+ end
@@ -0,0 +1,14 @@
1
+ VCR.configure do |c|
2
+ c.cassette_library_dir = 'spec/vcr'
3
+ c.hook_into :webmock
4
+ end
5
+
6
+ puts "loading config..."
7
+ RSpec.configure do |c|
8
+ c.treat_symbols_as_metadata_keys_with_true_values = true
9
+ c.around(:each, :vcr) do |example|
10
+ name = example.metadata[:full_description].split(/\s+/, 2).join("/").underscore.gsub(/[^\w\/]+/, "_")
11
+ options = example.metadata.slice(:record, :match_requests_on).except(:example_group)
12
+ VCR.use_cassette(name, options) { example.call }
13
+ end
14
+ end
@@ -0,0 +1,54 @@
1
+ require 'spec_helper'
2
+
3
+ describe Trader do
4
+ around { Trader.reset }
5
+
6
+ describe "#define" do
7
+ specify { expect { |b| Trader.define("TRADER", &b) }.to yield_with_args(Forex::Trader) }
8
+
9
+ it "includes the trader in #all" do
10
+ trader = Trader.define("TRADER_IN_ALL")
11
+
12
+ trader_in_all = Trader.all["TRADER_IN_ALL"]
13
+ expect(trader_in_all).not_to be_nil
14
+ expect(trader_in_all).to be == trader
15
+ end
16
+
17
+ it "prevents redefining the same trader" do
18
+ Trader.define("TRADER_DUPLICATED")
19
+
20
+ expect { Trader.define("TRADER_DUPLICATED") }.to raise_error(CannotRedefineTrader)
21
+ end
22
+
23
+ context "has all the properties set on definition" do
24
+ let(:sample_rates) {
25
+ {
26
+ "USD" => { :buy_cash => 102.0, :buy_draft => 103.3, :sell_cash => 105.0 },
27
+ "GBP" => { :buy_cash => 155.0, :buy_draft => 143.3, :sell_cash => 199.0 },
28
+ }
29
+ }
30
+ let(:rates_parser) { ->(doc) { sample_rates } }
31
+
32
+ let(:trader) {
33
+ Forex::Trader.define "TRADER_X" do |t|
34
+ t.base_currency = "JMD"
35
+ t.name = "Trader Named X"
36
+ t.endpoint = "http://www.example.com"
37
+ t.rates_parser = rates_parser
38
+ end
39
+ }
40
+
41
+ specify { expect(trader.short_name).to be == "TRADER_X" }
42
+ specify { expect(trader.base_currency).to be == "JMD" }
43
+ specify { expect(trader.name).to be == "Trader Named X" }
44
+ specify { expect(trader.endpoint).to be == "http://www.example.com" }
45
+ specify { expect(trader.rates_parser).to be == rates_parser }
46
+
47
+ it ".fetch" do
48
+ trader.stub(:doc)
49
+ expect(trader.fetch).to be == sample_rates
50
+ end
51
+ end
52
+ end
53
+
54
+ end
@@ -0,0 +1,10 @@
1
+ require 'spec_helper'
2
+
3
+ describe "Traders" do
4
+
5
+ Trader.all.each do |short_name, trader|
6
+ it short_name, :vcr do
7
+ expect(trader.fetch).not_to be_empty
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,75 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www4.scotiabank.com/cgi-bin/ratesTool/depdisplay.cgi?pid=56
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - www4.scotiabank.com
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Server:
24
+ - Sun-ONE-Web-Server/6.1
25
+ Date:
26
+ - Wed, 04 Dec 2013 20:26:50 GMT
27
+ Content-Type:
28
+ - text/html; charset=UTF-8;
29
+ Transfer-Encoding:
30
+ - chunked
31
+ body:
32
+ encoding: UTF-8
33
+ string: "<html>\n<head>\n <title></title>\n</head>\n<body>\n<meta name=\"viewport\"
34
+ content=\"width=device-width,initial-scale=1\" />\n<style type=\"text/css\">\n<!--\n\nbody
35
+ {text-align:center;}\n\ntable { border:1px solid #cc0000; font-family:arial,
36
+ verdana; font-size:12px; text-align:center; vertical-align: bottom; margin:
37
+ 0 auto; }\ntd {padding:7px}\n\n\n.mtable {text-align: center;}\n#page {text-align:
38
+ center;}\n\n\n#header {font-family:arial, verdana; font-size:16px; font-weight:bold;
39
+ margin-bottom:15px}\n#footer {font-family:arial, verdana; font-size:11px;
40
+ text-align:left; margin: 0 auto; padding-top:15px}\n\n-->\n</style>\n<div>\n\t\n\n\t<div
41
+ class='mtable' id=\"table867\">\n\t\t<table>\n\t\t<tr>\n\n\t\t<div id='header'>
42
+ <a name=\"forex\">Foreign Exchange<br />Jamaica - (Effective) December 4,
43
+ 2013</a> </div>\n\t\t\n\t\t\n\t\t</tr><tr>\n\t\t\n\t\t<td id='tb867row1col1cell2553'><b
44
+ style=\" color:#cc0000\">Currency</b></td>\n\t\t\n\t\t\n\t\t<td id='tb867row1col2cell2554'><b
45
+ style=\" color:#cc0000\">Cash</b></td>\n\t\t\n\t\t\n\t\t<td id='tb867row1col3cell2555'><b
46
+ style=\" color:#cc0000\">Cheque</b></td>\n\t\t\n\t\t\n\t\t<td id='tb867row1col4cell2556'><b
47
+ style=\" color:#cc0000\">Cash & Cheque</b></td>\n\t\t\n\t\t\n\t\t</tr><tr>\n\t\t\n\t\t<td
48
+ id='tb867row2col1cell2549'></td>\n\t\t\n\t\t\n\t\t<td id='tb867row2col2cell2550'><b>BUY</b></td>\n\t\t\n\t\t\n\t\t<td
49
+ id='tb867row2col3cell2551'><b>BUY</b></td>\n\t\t\n\t\t\n\t\t<td id='tb867row2col4cell2552'><b>SELL</b></td>\n\t\t\n\t\t\n\t\t</tr><tr>\n\t\t\n\t\t<td
50
+ id='tb867row3col1cell2557'>USD</td>\n\t\t\n\t\t\n\t\t<td id='tb867row3col2cell2558'>101.30</td>\n\t\t\n\t\t\n\t\t<td
51
+ id='tb867row3col3cell2559'>103.30</td>\n\t\t\n\t\t\n\t\t<td id='tb867row3col4cell2560'>105.00</td>\n\t\t\n\t\t\n\t\t</tr><tr>\n\t\t\n\t\t<td
52
+ id='tb867row4col1cell2561'>GBP</td>\n\t\t\n\t\t\n\t\t<td id='tb867row4col2cell2562'>166.06</td>\n\t\t\n\t\t\n\t\t<td
53
+ id='tb867row4col3cell2563'>169.48</td>\n\t\t\n\t\t\n\t\t<td id='tb867row4col4cell2564'>173.16</td>\n\t\t\n\t\t\n\t\t</tr><tr>\n\t\t\n\t\t<td
54
+ id='tb867row5col1cell2565'>CAD</td>\n\t\t\n\t\t\n\t\t<td id='tb867row5col2cell2566'>94.30</td>\n\t\t\n\t\t\n\t\t<td
55
+ id='tb867row5col3cell2567'>96.71</td>\n\t\t\n\t\t\n\t\t<td id='tb867row5col4cell2568'>99.50</td>\n\t\t\n\t\t\n\t\t</tr><tr>\n\t\t\n\t\t<td
56
+ id='tb867row6col1cell2569'>EUR</td>\n\t\t\n\t\t\n\t\t<td id='tb867row6col2cell2570'>135.01</td>\n\t\t\n\t\t\n\t\t<td
57
+ id='tb867row6col3cell2571'>138.05</td>\n\t\t\n\t\t\n\t\t<td id='tb867row6col4cell2572'>143.82</td>\n\t\t\n\t\t\n\t\t</tr><tr>\n\t\t\n\t\t<td
58
+ id='tb867row7col1cell2573'>BBD</td>\n\t\t\n\t\t\n\t\t<td id='tb867row7col2cell2574'>46.23</td>\n\t\t\n\t\t\n\t\t<td
59
+ id='tb867row7col3cell2575'>50.25</td>\n\t\t\n\t\t\n\t\t<td id='tb867row7col4cell2576'>54.62</td>\n\t\t\n\t\t\n\t\t</tr><tr>\n\t\t\n\t\t<td
60
+ id='tb867row8col1cell2577'>KYD</td>\n\t\t\n\t\t\n\t\t<td id='tb867row8col2cell2578'>112.40</td>\n\t\t\n\t\t\n\t\t<td
61
+ id='tb867row8col3cell2579'>117.09</td>\n\t\t\n\t\t\n\t\t<td id='tb867row8col4cell2580'>127.13</td>\n\t\t\n\t\t\n\t\t</tr><tr>\n\t\t\n\t\t<td
62
+ id='tb867row9col1cell3853'>XCD</td>\n\t\t\n\t\t\n\t\t<td id='tb867row9col2cell3854'>34.59</td>\n\t\t\n\t\t\n\t\t<td
63
+ id='tb867row9col3cell3855'>36.41</td>\n\t\t\n\t\t\n\t\t<td id='tb867row9col4cell3856'>40.46</td>\n\t\t\n\t\t\n\t\t</tr><tr>\n\t\t\n\t\t<td
64
+ id='tb867row10col1cell4119'>JPY</td>\n\t\t\n\t\t\n\t\t<td id='tb867row10col2cell4120'>0.9341</td>\n\t\t\n\t\t\n\t\t<td
65
+ id='tb867row10col3cell4121'>0.9833</td>\n\t\t\n\t\t\n\t\t<td id='tb867row10col4cell4122'>1.0573</td>\n\t\t\n\t\t\n\t\t</tr><tr>\n\t\t\n\t\t<td
66
+ id='tb867row11col1cell3857'>CHF</td>\n\t\t\n\t\t\n\t\t<td id='tb867row11col2cell3858'>106.80</td>\n\t\t\n\t\t\n\t\t<td
67
+ id='tb867row11col3cell3859'>110.67</td>\n\t\t\n\t\t\n\t\t<td id='tb867row11col4cell3860'>119.64</td>\n\t\t\n\t\t\n\t\t</tr><tr>\n\t\t\n\t\t<td
68
+ id='tb867row12col1cell2589'>TTD</td>\n\t\t\n\t\t\n\t\t<td id='tb867row12col2cell2590'>15.26</td>\n\t\t\n\t\t\n\t\t<td
69
+ id='tb867row12col3cell2591'>16.06</td>\n\t\t\n\t\t\n\t\t<td id='tb867row12col4cell2592'>17.65</td>\n\t\t\n\t\t</tr>\n\t\t</table>\n\n\t\t<div
70
+ id='footer'>The above foreign exchange rates are subject to change without
71
+ notice, based on the availability of the funds and changes in the Foreign
72
+ Exchange market.</div>\n\t</div>\n\t\n</div>\n\n</body>\n</html>\n"
73
+ http_version:
74
+ recorded_at: Wed, 04 Dec 2013 20:27:01 GMT
75
+ recorded_with: VCR 2.8.0
@@ -0,0 +1,332 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.fxtrader.gkmsonline.com/rates
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ Host:
17
+ - www.fxtrader.gkmsonline.com
18
+ response:
19
+ status:
20
+ code: 200
21
+ message: OK
22
+ headers:
23
+ Date:
24
+ - Wed, 04 Dec 2013 20:26:40 GMT
25
+ Server:
26
+ - Apache
27
+ X-Powered-By:
28
+ - PHP/5.2.10-2ubuntu6.5
29
+ Etag:
30
+ - '"56fe7512a8549d37b2bab12b4032617a"'
31
+ Expires:
32
+ - Sun, 19 Nov 1978 05:00:00 GMT
33
+ Cache-Control:
34
+ - must-revalidate
35
+ Set-Cookie:
36
+ - SESS4aa7b68d1fce4c4fc84a6aa9f01e783f=0ff0e956fcdcdc300cceba264ed2fdab; expires=Sat,
37
+ 28-Dec-2013 00:00:00 GMT; path=/; domain=.fxtrader.gkmsonline.com
38
+ Last-Modified:
39
+ - Wed, 04 Dec 2013 19:39:07 GMT
40
+ Transfer-Encoding:
41
+ - chunked
42
+ Content-Type:
43
+ - text/html; charset=utf-8
44
+ body:
45
+ encoding: UTF-8
46
+ string: "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html
47
+ xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\" dir=\"ltr\">\n<head>\n<meta
48
+ http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>Cheque/Cash
49
+ daily exchange rates | FX Trader Jamaica | Grace Kennedy Money Services</title>\n<meta
50
+ http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<meta
51
+ name=\"description\" content=\"In 1997, GraceKennedy Money Services (GKMS),
52
+ \ added its Bureaux de Change (Cambio) operation called FX Trader to its suite
53
+ of services. Shortly thereafter, this service was extended to Trinidad and
54
+ Tobago. GKMS started to take advantage of the opportunity the remittance business
55
+ presented for foreign currency conversions.\" />\n<link type=\"text/css\"
56
+ rel=\"stylesheet\" media=\"all\" href=\"/sites/default/files/css/css_6697e3d9f22118bc33e9bed205b01af6.css\"
57
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"print\" href=\"/sites/default/files/css/css_e1510b2f7b3d5ea502865d4d92326374.css\"
58
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/html-reset.css?J\"
59
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/style.css?J\"
60
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/wireframes.css?J\"
61
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/sidebars.css?J\"
62
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/layout-fixed.css?J\"
63
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/page-backgrounds.css?J\"
64
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/tabs.css?J\"
65
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/messages.css?J\"
66
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/pages.css?J\"
67
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/block-editing.css?J\"
68
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/blocks.css?J\"
69
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/navigation.css?J\"
70
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/panels-styles.css?J\"
71
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/views-styles.css?J\"
72
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/nodes.css?J\"
73
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/comments.css?J\"
74
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/forms.css?J\"
75
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/fields.css?J\"
76
+ />\n<link type=\"text/css\" rel=\"stylesheet\" media=\"print\" href=\"/sites/all/themes/fx_trader/css/print.css?J\"
77
+ />\n<!--[if IE]>\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\"
78
+ href=\"/sites/all/themes/fx_trader/css/ie.css?J\" />\n<![endif]-->\n<!--[if
79
+ lte IE 6]>\n<link type=\"text/css\" rel=\"stylesheet\" media=\"all\" href=\"/sites/all/themes/fx_trader/css/ie6.css?J\"
80
+ />\n<![endif]-->\n<script type=\"text/javascript\" src=\"/misc/jquery.js?J\"></script>\n<script
81
+ type=\"text/javascript\" src=\"/misc/drupal.js?J\"></script>\n<script type=\"text/javascript\"
82
+ src=\"/sites/all/modules/google_analytics/googleanalytics.js?J\"></script>\n<script
83
+ type=\"text/javascript\" src=\"/sites/all/modules/lightbox2/js/lightbox.js?J\"></script>\n<script
84
+ type=\"text/javascript\" src=\"/sites/all/modules/nice_menus/superfish/js/superfish.js?J\"></script>\n<script
85
+ type=\"text/javascript\" src=\"/sites/all/modules/nice_menus/superfish/js/jquery.bgiframe.min.js?J\"></script>\n<script
86
+ type=\"text/javascript\" src=\"/sites/all/modules/nice_menus/superfish/js/jquery.hoverIntent.minified.js?J\"></script>\n<script
87
+ type=\"text/javascript\" src=\"/sites/all/modules/nice_menus/nice_menus.js?J\"></script>\n<script
88
+ type=\"text/javascript\" src=\"/sites/all/modules/poormanscron/poormanscron.js?J\"></script>\n<script
89
+ type=\"text/javascript\" src=\"/sites/all/modules/views_slideshow/js/jquery.cycle.all.min.js?J\"></script>\n<script
90
+ type=\"text/javascript\" src=\"/sites/all/modules/views_slideshow/contrib/views_slideshow_singleframe/views_slideshow.js?J\"></script>\n<script
91
+ type=\"text/javascript\" src=\"/sites/all/modules/views_slideshow/contrib/views_slideshow_thumbnailhover/views_slideshow.js?J\"></script>\n<script
92
+ type=\"text/javascript\" src=\"/sites/all/modules/hierarchical_select/hierarchical_select.js?J\"></script>\n<script
93
+ type=\"text/javascript\" src=\"/sites/all/modules/hierarchical_select/hierarchical_select_formtoarray.js?J\"></script>\n<script
94
+ type=\"text/javascript\" src=\"/sites/all/modules/jquery_ui/jquery.ui/ui/minified/ui.core.min.js?J\"></script>\n<script
95
+ type=\"text/javascript\" src=\"/sites/all/modules/jquery_ui/jquery.ui/ui/minified/effects.core.min.js?J\"></script>\n<script
96
+ type=\"text/javascript\" src=\"/sites/all/modules/jquery_ui/jquery.ui/ui/minified/effects.drop.min.js?J\"></script>\n<script
97
+ type=\"text/javascript\" src=\"/sites/all/modules/hierarchical_select/includes/views.js?J\"></script>\n<script
98
+ type=\"text/javascript\" src=\"/sites/all/themes/fx_trader/js/expand.js?J\"></script>\n<script
99
+ type=\"text/javascript\" src=\"/sites/all/themes/fx_trader/js/expand-head.js?J\"></script>\n<script
100
+ type=\"text/javascript\">\n<!--//--><![CDATA[//><!--\njQuery.extend(Drupal.settings,
101
+ { \"basePath\": \"/\", \"googleanalytics\": { \"trackOutgoing\": 1, \"trackMailto\":
102
+ 1, \"trackDownload\": 1, \"trackDownloadExtensions\": \"7z|aac|arc|arj|asf|asx|avi|bin|csv|doc|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|msi|msp|pdf|phps|png|ppt|qtm?|ra(m|r)?|sea|sit|tar|tgz|torrent|txt|wav|wma|wmv|wpd|xls|xml|z|zip\"
103
+ }, \"lightbox2\": { \"rtl\": 0, \"file_path\": \"/(\\\\w\\\\w/)sites/default/files\",
104
+ \"default_image\": \"/sites/all/modules/lightbox2/images/brokenimage.jpg\",
105
+ \"border_size\": 10, \"font_color\": \"000\", \"box_color\": \"fff\", \"top_position\":
106
+ \"\", \"overlay_opacity\": \"0.8\", \"overlay_color\": \"000\", \"disable_close_click\":
107
+ true, \"resize_sequence\": 0, \"resize_speed\": 400, \"fade_in_speed\": 400,
108
+ \"slide_down_speed\": 600, \"use_alt_layout\": false, \"disable_resize\":
109
+ false, \"disable_zoom\": false, \"force_show_nav\": false, \"show_caption\":
110
+ true, \"loop_items\": false, \"node_link_text\": \"View Image Details\", \"node_link_target\":
111
+ false, \"image_count\": \"Image !current of !total\", \"video_count\": \"Video
112
+ !current of !total\", \"page_count\": \"Page !current of !total\", \"lite_press_x_close\":
113
+ \"press \\x3ca href=\\\"#\\\" onclick=\\\"hideLightbox(); return FALSE;\\\"\\x3e\\x3ckbd\\x3ex\\x3c/kbd\\x3e\\x3c/a\\x3e
114
+ to close\", \"download_link_text\": \"\", \"enable_login\": false, \"enable_contact\":
115
+ false, \"keys_close\": \"c x 27\", \"keys_previous\": \"p 37\", \"keys_next\":
116
+ \"n 39\", \"keys_zoom\": \"z\", \"keys_play_pause\": \"32\", \"display_image_size\":
117
+ \"original\", \"image_node_sizes\": \"()\", \"trigger_lightbox_classes\":
118
+ \"\", \"trigger_lightbox_group_classes\": \"\", \"trigger_slideshow_classes\":
119
+ \"\", \"trigger_lightframe_classes\": \"\", \"trigger_lightframe_group_classes\":
120
+ \"\", \"custom_class_handler\": 0, \"custom_trigger_classes\": \"\", \"disable_for_gallery_lists\":
121
+ true, \"disable_for_acidfree_gallery_lists\": true, \"enable_acidfree_videos\":
122
+ true, \"slideshow_interval\": 5000, \"slideshow_automatic_start\": true, \"slideshow_automatic_exit\":
123
+ true, \"show_play_pause\": true, \"pause_on_next_click\": false, \"pause_on_previous_click\":
124
+ true, \"loop_slides\": false, \"iframe_width\": 600, \"iframe_height\": 400,
125
+ \"iframe_border\": 1, \"enable_video\": false }, \"nice_menus_options\": {
126
+ \"delay\": \"0\", \"speed\": \"normal\" }, \"cron\": { \"basePath\": \"/poormanscron\",
127
+ \"runNext\": 1386271077 } });\n//--><!]]>\n</script>\n</head>\n<body class=\"not-front
128
+ not-logged-in i18n-en page-rates section-rates one-sidebar sidebar-second
129
+ page-views\">\n<div id=\"header-top-wrapper\">\n <div id=\"nav-menu\"> </div>\n
130
+ \ <div id=\"header-top\"> <div class=\"region region-header-top\">\n <div
131
+ id=\"block-nice_menus-2\" class=\"block block-nice_menus region-odd odd region-count-1
132
+ count-1\">\n \n <div class=\"content\">\n <ul class=\"nice-menu nice-menu-down\"
133
+ id=\"nice-menu-2\"><li class=\"menu-2112 menuparent menu-path-fxtradergkmsonlinecom
134
+ first odd \"><a href=\"http://www.fxtrader.gkmsonline.com\" title=\"\">Choose
135
+ a service</a><ul><li class=\"menu-2115 menu-path-billexpressgkmsonlinecom
136
+ first odd \"><a href=\"http://www.billexpress.gkmsonline.com\" title=\"\">Bill
137
+ Express</a></li>\n<li class=\"menu-2113 menu-path-gkmsonlinecom- even \"><a
138
+ href=\"http://www.gkmsonline.com/\" title=\"\">GKMS</a></li>\n<li class=\"menu-2114
139
+ menu-path-westernuniongkmsonlinecom- odd last \"><a href=\"http://www.westernunion.gkmsonline.com/\"
140
+ title=\"\">Western Union</a></li>\n</ul>\n</li>\n<li class=\"menu-2135 menu-path-node-6
141
+ even last \"><a href=\"/contact-us\" title=\"\">Contact Us</a></li>\n</ul>\n
142
+ \ </div>\n\n </div> <!-- /.block -->\n</div> <!-- /.region -->\n </div>\n</div>\n<div
143
+ id=\"header-wrapper\">\n <div id=\"header\">\n <div class=\"section clearfix\">\n
144
+ \ <div class=\"region region-header\">\n <div id=\"block-block-4\"
145
+ class=\"block block-block region-odd odd region-count-1 count-5\">\n \n <div
146
+ class=\"content\">\n <div id=\"fx-logo\">\n\t<a href=\"/\"><img src=\"/sites/all/themes/fx_trader/images/fx-logo.png\"
147
+ /></a></div>\n </div>\n\n </div> <!-- /.block -->\n<div id=\"block-search-0\"
148
+ class=\"block block-search region-even even region-count-2 count-6\">\n \n
149
+ \ <div class=\"content\">\n <form action=\"/rates\" accept-charset=\"UTF-8\"
150
+ method=\"post\" id=\"search-block-form\">\n<div><div class=\"container-inline\">\n
151
+ \ <div class=\"form-item\" id=\"edit-search-block-form-1-wrapper\">\n <label
152
+ for=\"edit-search-block-form-1\">Search this site: </label>\n <input type=\"text\"
153
+ maxlength=\"128\" name=\"search_block_form\" id=\"edit-search-block-form-1\"
154
+ size=\"15\" value=\"\" title=\"Enter the terms you wish to search for.\" class=\"form-text\"
155
+ />\n</div>\n<input type=\"submit\" name=\"op\" id=\"edit-submit\" value=\"Search\"
156
+ \ class=\"form-submit\" />\n<input type=\"hidden\" name=\"form_build_id\"
157
+ id=\"form-66f5aa503fbb7c3647da0c4fe8adae15\" value=\"form-66f5aa503fbb7c3647da0c4fe8adae15\"
158
+ \ />\n<input type=\"hidden\" name=\"form_id\" id=\"edit-search-block-form\"
159
+ value=\"search_block_form\" />\n</div>\n\n</div></form>\n </div>\n\n </div>
160
+ <!-- /.block -->\n<div id=\"block-block-12\" class=\"block block-block region-odd
161
+ odd region-count-3 count-7\">\n \n <div class=\"content\">\n <div id=\"social-media\">\n<div
162
+ id=\"facebook\">\n\t\t<a href=\"http://www.facebook.com/pages/GraceKennedy-Money-Services/215177008533467\"
163
+ target=\"_blank\"><img src=\"/sites/all/themes/fx_trader/images/facebook.png\"
164
+ /></a></div>\n<div id=\"youtube\">\n\t\t<a href=\"http://www.youtube.com/GKMoneyServices\"
165
+ target=\"_blank\"><img src=\"/sites/all/themes/fx_trader/images/youtube.png\"
166
+ /></a></div>\n</div>\n </div>\n\n </div> <!-- /.block -->\n<div id=\"block-nice_menus-1\"
167
+ class=\"block block-nice_menus region-even even region-count-4 count-8\">\n
168
+ \ \n <div class=\"content\">\n <ul class=\"nice-menu nice-menu-down\"
169
+ id=\"nice-menu-1\"><li class=\"menu-1222 menu-path-node first odd \"><a href=\"/node\"
170
+ title=\"\">Home</a></li>\n<li class=\"menu-2450 menu-path-node-46 even \"><a
171
+ href=\"/about/trinidad-tobago/46\" title=\"About Us\">About</a></li>\n<li
172
+ class=\"menu-1203 menuparent menu-path-services active-trail odd \"><a href=\"/services\">Services</a><ul><li
173
+ class=\"menu-1196 menu-path-rates active-trail first odd last \"><a href=\"/rates\"
174
+ class=\"active\">Rates</a></li>\n</ul>\n</li>\n<li class=\"menu-1193 menuparent
175
+ menu-path-news even \"><a href=\"/news\">News</a><ul><li class=\"menu-2174
176
+ menu-path-news-archive first odd last \"><a href=\"/news/archive\">Archive</a></li>\n</ul>\n</li>\n<li
177
+ class=\"menu-1181 menu-path-locations odd \"><a href=\"/locations\">Locations</a></li>\n<li
178
+ class=\"menu-1014 menu-path-faq even \"><a href=\"/faq\">FAQ</a></li>\n<li
179
+ class=\"menu-2169 menuparent menu-path-promotions-events odd \"><a href=\"/promotions/events\"
180
+ title=\"\">Promotions</a><ul><li class=\"menu-2274 menu-path-promotions-campaigns
181
+ first odd \"><a href=\"/promotions/campaigns\">Campaigns</a></li>\n<li class=\"menu-2275
182
+ menu-path-promotions-events even \"><a href=\"/promotions/events\" title=\"\">Sponsorships</a></li>\n<li
183
+ class=\"menu-2231 menu-path-promotions-archive odd last \"><a href=\"/promotions/archive\">Archive</a></li>\n</ul>\n</li>\n<li
184
+ class=\"menu-2809 menu-path-business-solutions even last \"><a href=\"/business-solutions\">Business
185
+ Solutions</a></li>\n</ul>\n </div>\n\n </div> <!-- /.block -->\n</div> <!--
186
+ /.region -->\n </div>\n </div>\n</div>\n<!-- /.section, /#header -->\n<div
187
+ id=\"page-wrapper\">\n <div id=\"page\">\n <div id=\"main-wrapper\">\n
188
+ \ <div id=\"main\" class=\"clearfix\">\n <div id=\"content\" class=\"column\">\n
189
+ \ <div class=\"section\">\n <h1
190
+ class=\"title\">Cheque/Cash daily exchange rates</h1>\n <div
191
+ id=\"content-area\"> <div class=\"view view-FXTraderRates view-id-FXTraderRates
192
+ view-display-id-page_1 view-dom-id-2 view-FXTraderRates view-id-FXTraderRates
193
+ view-display-id-page_1 view-dom-id-2\">\n \n <div class=\"view-header\">\n
194
+ \ <!--<div><span style=\"float: right;\"></span></div>--> </div>\n
195
+ \ \n \n \n <div class=\"view-content\">\n <h3>Jamaica</h3>\n
196
+ \ <div class=\"views-row views-row-1 views-row-odd views-row-first views-row-last\">\n
197
+ \ \n <div class=\"views-field-title\">\n <span class=\"field-content\">Cash
198
+ Rates<br />\n<span class=\"date-effective\">Date Effective: <span class=\"date-display-single\">December
199
+ 4, 2013</span></span></span>\n </div>\n \n <div class=\"views-field-title-1\">\n
200
+ \ <span class=\"field-content\">Cheque Rates<br />\n<span class=\"date-effective\">Date
201
+ Effective: <span class=\"date-display-single\">December 4, 2013</span></span></span>\n
202
+ \ </div>\n \n <div class=\"views-field-field-fx-trader-currency-label-value\">\n
203
+ \ <span class=\"field-content\">Currency</span>\n </div>\n
204
+ \ \n <div class=\"views-field-field-fx-trader-buying-label-value\">\n <span
205
+ class=\"field-content\">Buying</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-selling-label-value\">\n
206
+ \ <span class=\"field-content\">Selling</span>\n </div>\n \n
207
+ \ <div class=\"views-field-field-fx-trader-currency-label-value-1\">\n <span
208
+ class=\"field-content\">Currency</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-buying-label-value-1\">\n
209
+ \ <span class=\"field-content\">Buying</span>\n </div>\n \n
210
+ \ <div class=\"views-field-field-fx-trader-selling-label-value-1\">\n <span
211
+ class=\"field-content\">Selling</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-currency-1-value\">\n
212
+ \ <span class=\"field-content\">USD</span>\n </div>\n \n <div
213
+ class=\"views-field-field-fx-trader-buying-1-value\">\n <span
214
+ class=\"field-content\">103.25</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-selling-1-value\">\n
215
+ \ <span class=\"field-content\">105.60</span>\n </div>\n \n
216
+ \ <div class=\"views-field-field-fx-trader-currency-1-value-1\">\n <span
217
+ class=\"field-content\">USD</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-buying-1-b-value\">\n
218
+ \ <span class=\"field-content\">103.95</span>\n </div>\n \n
219
+ \ <div class=\"views-field-field-fx-trader-selling-1-b-value\">\n <span
220
+ class=\"field-content\">106.10</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-currency-2-value\">\n
221
+ \ <span class=\"field-content\">CAD</span>\n </div>\n \n <div
222
+ class=\"views-field-field-fx-trader-buying-2-value\">\n <span
223
+ class=\"field-content\">95.65</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-selling-2-value\">\n
224
+ \ <span class=\"field-content\">98.45</span>\n </div>\n \n
225
+ \ <div class=\"views-field-field-fx-trader-currency-2-value-1\">\n <span
226
+ class=\"field-content\">CAD</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-buying-2-b-value\">\n
227
+ \ <span class=\"field-content\">96.25</span>\n </div>\n \n
228
+ \ <div class=\"views-field-field-fx-trader-selling-2-b-value\">\n <span
229
+ class=\"field-content\">99.55</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-currency-3-value\">\n
230
+ \ <span class=\"field-content\">GBP</span>\n </div>\n \n <div
231
+ class=\"views-field-field-fx-trader-buying-3-value\">\n <span
232
+ class=\"field-content\">168.20</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-selling-3-value\">\n
233
+ \ <span class=\"field-content\">172.20</span>\n </div>\n \n
234
+ \ <div class=\"views-field-field-fx-trader-currency-3-value-1\">\n <span
235
+ class=\"field-content\">GBP</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-buying-3-b-value\">\n
236
+ \ <span class=\"field-content\">168.90</span>\n </div>\n \n
237
+ \ <div class=\"views-field-field-fx-trader-selling-3-b-value\">\n <span
238
+ class=\"field-content\">173.55</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-currency-4-value\">\n
239
+ \ <span class=\"field-content\">KYD</span>\n </div>\n \n <div
240
+ class=\"views-field-field-fx-trader-buying-4-value\">\n <span
241
+ class=\"field-content\">116.70</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-selling-4-value\">\n
242
+ \ <span class=\"field-content\">120.40</span>\n </div>\n \n
243
+ \ <div class=\"views-field-field-fx-trader-currency-4-value-1\">\n <span
244
+ class=\"field-content\">KYD</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-buying-4-b-value\">\n
245
+ \ <span class=\"field-content\">-</span>\n </div>\n \n <div
246
+ class=\"views-field-field-fx-trader-selling-4-b-value\">\n <span
247
+ class=\"field-content\">-</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-currency-5-value\">\n
248
+ \ <span class=\"field-content\">EURO</span>\n </div>\n \n
249
+ \ <div class=\"views-field-field-fx-trader-buying-5-value\">\n <span
250
+ class=\"field-content\">137.85</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-selling-5-value\">\n
251
+ \ <span class=\"field-content\">142.15</span>\n </div>\n \n
252
+ \ <div class=\"views-field-field-fx-trader-currency-5-value-1\">\n <span
253
+ class=\"field-content\">EURO</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-buying-5-b-value\">\n
254
+ \ <span class=\"field-content\">-</span>\n </div>\n \n <div
255
+ class=\"views-field-field-fx-trader-selling-5-b-value\">\n <span
256
+ class=\"field-content\">-</span>\n </div>\n </div>\n </div>\n \n \n
257
+ \ <div class=\"attachment attachment-after\">\n <div class=\"view
258
+ view-FXTraderRates view-id-FXTraderRates view-display-id-attachment_1 view-dom-id-1
259
+ view-FXTraderRates view-id-FXTraderRates view-display-id-attachment_1 view-dom-id-1\">\n
260
+ \ \n <div class=\"view-header\">\n <!--<div><span style=\"float:
261
+ right;\"></span></div>--> </div>\n \n \n \n <div class=\"view-content\">\n
262
+ \ <h3>Trinidad &amp; Tobago</h3>\n <div class=\"views-row views-row-1
263
+ views-row-odd views-row-first views-row-last\">\n \n <div class=\"views-field-title\">\n
264
+ \ <span class=\"field-content\">Cash Rates<br />\n<span class=\"date-effective\">Date
265
+ Effective: <span class=\"date-display-single\">December 4, 2013</span></span></span>\n
266
+ \ </div>\n \n <div class=\"views-field-field-fx-trader-currency-label-value\">\n
267
+ \ <span class=\"field-content\">Currency</span>\n </div>\n
268
+ \ \n <div class=\"views-field-field-fx-trader-buying-label-value\">\n <span
269
+ class=\"field-content\">Buying</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-selling-label-value\">\n
270
+ \ <span class=\"field-content\">Selling</span>\n </div>\n \n
271
+ \ <div class=\"views-field-field-fx-trader-currency-1-value\">\n <span
272
+ class=\"field-content\">USD</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-buying-1-value\">\n
273
+ \ <span class=\"field-content\">6.20</span>\n </div>\n \n
274
+ \ <div class=\"views-field-field-fx-trader-selling-1-value\">\n <span
275
+ class=\"field-content\">6.48</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-currency-2-value\">\n
276
+ \ <span class=\"field-content\">CAD</span>\n </div>\n \n <div
277
+ class=\"views-field-field-fx-trader-buying-2-value\">\n <span
278
+ class=\"field-content\">5.61</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-selling-2-value\">\n
279
+ \ <span class=\"field-content\">6.21</span>\n </div>\n \n
280
+ \ <div class=\"views-field-field-fx-trader-currency-3-value\">\n <span
281
+ class=\"field-content\">GBP</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-buying-3-value\">\n
282
+ \ <span class=\"field-content\">9.72</span>\n </div>\n \n
283
+ \ <div class=\"views-field-field-fx-trader-selling-3-value\">\n <span
284
+ class=\"field-content\">10.79</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-currency-4-value\">\n
285
+ \ <span class=\"field-content\">KYD</span>\n </div>\n \n <div
286
+ class=\"views-field-field-fx-trader-buying-4-value\">\n <span
287
+ class=\"field-content\">-</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-selling-4-value\">\n
288
+ \ <span class=\"field-content\">-</span>\n </div>\n \n <div
289
+ class=\"views-field-field-fx-trader-currency-5-value\">\n <span
290
+ class=\"field-content\">EURO</span>\n </div>\n \n <div class=\"views-field-field-fx-trader-buying-5-value\">\n
291
+ \ <span class=\"field-content\">7.98</span>\n </div>\n \n
292
+ \ <div class=\"views-field-field-fx-trader-selling-5-value\">\n <span
293
+ class=\"field-content\">8.96</span>\n </div>\n </div>\n </div>\n \n
294
+ \ \n \n \n \n \n</div> <!-- /.view -->\n </div>\n \n \n \n \n</div>
295
+ <!-- /.view -->\n </div>\n </div>\n </div>\n
296
+ \ <!-- /.section, /#content -->\n <div class=\"region
297
+ region-sidebar-second column sidebar\"><div class=\"section\">\n <div id=\"block-block-5\"
298
+ class=\"block block-block region-odd even region-count-1 count-2\">\n \n
299
+ \ <div class=\"content\">\n <div>\n\t<a href=\"/locations\"> </a>\n<h2>\n\t\t<a
300
+ href=\"/locations\">Find an Agent</a></h2>\n<p>\t<a href=\"/locations\"><img
301
+ id=\"map\" src=\"/sites/all/themes/fx_trader/images/caribbean3.jpg\" /></a></p></div>\n
302
+ \ </div>\n\n </div> <!-- /.block -->\n<div id=\"block-ad-64\" class=\"block
303
+ block-ad region-even odd region-count-2 count-3\">\n \n <div class=\"content\">\n
304
+ \ \n<div class=\"advertisement group-tids-64\" id=\"group-id-tids-64\"><script
305
+ type='text/javascript' src='http://www.fxtrader.gkmsonline.com/sites/all/modules/ad/serve.php?q=3&amp;t=64&amp;u=rates&amp;l=rates'></script></div>\n
306
+ \ </div>\n\n </div> <!-- /.block -->\n<div id=\"block-block-7\" class=\"block
307
+ block-block region-odd even region-count-3 count-4\">\n \n <div class=\"content\">\n
308
+ \ <div class=\"block block-mailchimp region-odd even region-count-3 count-10\"
309
+ id=\"block-mailchimp-3333c1f3c8\">\n<div class=\"content\">\n<h2 class=\"title\">\n\t\t\tWant
310
+ to know more about our special offers?</h2>\n<form accept-charset=\"UTF-8\"
311
+ action=\"/\" id=\"mailchimp_subscribe_anon_form_3333c1f3c8\" method=\"post\">\n<div>\n<div
312
+ class=\"form-item\" id=\"edit-mailchimp-lists-3333c1f3c8-EMAIL-wrapper\">\n\t\t\t\t\t<label
313
+ for=\"edit-mailchimp-lists-3333c1f3c8-EMAIL\">Please enter your email address:
314
+ <span class=\"form-required\" title=\"This field is required.\">*</span></label>
315
+ <input class=\"form-text required\" id=\"edit-mailchimp-lists-3333c1f3c8-EMAIL\"
316
+ maxlength=\"128\" name=\"mailchimp_lists[3333c1f3c8][EMAIL]\" size=\"15\"
317
+ type=\"text\" value=\"\" /></div>\n<p>\t\t\t\t<input class=\"form-submit\"
318
+ id=\"edit-submit\" name=\"op\" type=\"submit\" value=\"Sign Up!\" /></p></div>\n</form>\n</div>\n</div>\n<p>&nbsp;</p>\n
319
+ \ </div>\n\n </div> <!-- /.block -->\n</div></div> <!-- /.section, /.region
320
+ -->\n </div>\n </div>\n <!-- /#main, /#main-wrapper -->\n <div
321
+ id=\"footer\">\n <div class=\"section\"> <div id=\"footer-message\">\r\n<p><span
322
+ class=\"footerText\">GraceKennedy Limited. All rights reserved. gkms@gkco.com</span></p>\r\n</div>\n
323
+ \ </div>\n </div>\n <!-- /.section, /#footer -->\n </div>\n</div>\n<!--
324
+ /#page, /#page-wrapper -->\n <script type=\"text/javascript\">\n<!--//--><![CDATA[//><!--\nvar
325
+ _gaq = _gaq || [];_gaq.push([\"_setAccount\", \"UA-231094-58\"]);_gaq.push([\"_trackPageview\"]);(function()
326
+ {var ga = document.createElement(\"script\");ga.type = \"text/javascript\";ga.async
327
+ = true;ga.src = (\"https:\" == document.location.protocol ? \"https://ssl\"
328
+ : \"http://www\") + \".google-analytics.com/ga.js\";var s = document.getElementsByTagName(\"script\")[0];s.parentNode.insertBefore(ga,
329
+ s);})();\n//--><!]]>\n</script>\n</body>\n</html>\n"
330
+ http_version:
331
+ recorded_at: Wed, 04 Dec 2013 20:26:50 GMT
332
+ recorded_with: VCR 2.8.0