forex 0.0.1 → 0.1.0

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.
@@ -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