google_currency 2.3.0 → 3.0.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.
- data/AUTHORS +1 -0
- data/CHANGELOG.md +3 -2
- data/README.md +7 -7
- data/google_currency.gemspec +1 -3
- data/lib/money/bank/google_currency.rb +62 -69
- data/spec/google_currency_with_json_spec.rb +67 -10
- data/spec/rates/error.html +1 -0
- data/spec/rates/sgd_to_usd.html +222 -0
- data/spec/rates/vnd_to_usd.html +223 -0
- data/spec/spec_helper.rb +7 -0
- metadata +5 -34
data/AUTHORS
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -6,18 +6,16 @@ Google Currency
|
|
6
6
|
This gem extends Money::Bank::VariableExchange with Money::Bank::GoogleCurrency
|
7
7
|
and gives you access to the current Google Currency exchange rates.
|
8
8
|
|
9
|
-
You have to load one of the JSON libraries supported by
|
10
|
-
[MultiJSON](https://github.com/intridea/multi_json) (`json` for example)
|
11
|
-
if it's not already loaded by your application. In a Rails application,
|
12
|
-
ActiveSupport provides a JSON implementation that is automatically recognized.
|
13
|
-
|
14
9
|
Usage
|
15
10
|
-----
|
16
11
|
|
17
12
|
require 'money'
|
18
13
|
require 'money/bank/google_currency'
|
19
|
-
|
20
|
-
|
14
|
+
|
15
|
+
# (optional)
|
16
|
+
# set the seconds after than the current rates are automatically expired
|
17
|
+
# by default, they never expire
|
18
|
+
Money::Bank::GoogleCurrency.ttl_in_seconds = 86400
|
21
19
|
|
22
20
|
# set default bank to instance of GoogleCurrency
|
23
21
|
Money.default_bank = Money::Bank::GoogleCurrency.new
|
@@ -32,6 +30,8 @@ that `Money` knows, but Google does not.
|
|
32
30
|
An `UnknownCurrency` will be thrown if `#exchange_to` is called with a
|
33
31
|
`Currency` that `Money` does not know.
|
34
32
|
|
33
|
+
A `GoogleCurrencyFetchError` will be thrown if there is an unknown issue with the Google Finance Converter API.
|
34
|
+
|
35
35
|
Copyright
|
36
36
|
---------
|
37
37
|
|
data/google_currency.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "google_currency"
|
3
|
-
s.version = "
|
3
|
+
s.version = "3.0.0"
|
4
4
|
s.platform = Gem::Platform::RUBY
|
5
5
|
s.authors = ["Shane Emmons"]
|
6
6
|
s.email = ["semmons99@gmail.com"]
|
@@ -12,11 +12,9 @@ Gem::Specification.new do |s|
|
|
12
12
|
|
13
13
|
s.add_development_dependency "rspec", ">= 2.0.0"
|
14
14
|
s.add_development_dependency "yard", ">= 0.5.8"
|
15
|
-
s.add_development_dependency "json", ">= 1.4.0"
|
16
15
|
s.add_development_dependency "ffi"
|
17
16
|
|
18
17
|
s.add_dependency "money", "~> 5.1.1"
|
19
|
-
s.add_dependency "multi_json"
|
20
18
|
|
21
19
|
s.files = Dir.glob("{lib,spec}/**/*")
|
22
20
|
s.files += %w(LICENSE README.md CHANGELOG.md AUTHORS)
|
@@ -1,18 +1,48 @@
|
|
1
1
|
require 'money'
|
2
2
|
require 'open-uri'
|
3
|
-
require 'multi_json'
|
4
3
|
|
5
4
|
class Money
|
6
5
|
module Bank
|
6
|
+
# Raised when there is an unexpected error in extracting exchange rates
|
7
|
+
# from Google Finance Calculator
|
8
|
+
class GoogleCurrencyFetchError < Error
|
9
|
+
end
|
10
|
+
|
7
11
|
class GoogleCurrency < Money::Bank::VariableExchange
|
8
12
|
|
13
|
+
|
9
14
|
SERVICE_HOST = "www.google.com"
|
10
|
-
SERVICE_PATH = "/
|
11
|
-
EXPONENT_REGEXP = /10(x3c)?sup(x3e)?(?<exponent>-?\d+)(x3c)?\/sup(x3e)?/
|
15
|
+
SERVICE_PATH = "/finance/converter"
|
12
16
|
|
13
17
|
# @return [Hash] Stores the currently known rates.
|
14
18
|
attr_reader :rates
|
15
19
|
|
20
|
+
|
21
|
+
class << self
|
22
|
+
# @return [Integer] Returns the Time To Live (TTL) in seconds.
|
23
|
+
attr_reader :ttl_in_seconds
|
24
|
+
|
25
|
+
# @return [Time] Returns the time when the rates expire.
|
26
|
+
attr_reader :rates_expiration
|
27
|
+
|
28
|
+
##
|
29
|
+
# Set the Time To Live (TTL) in seconds.
|
30
|
+
#
|
31
|
+
# @param [Integer] the seconds between an expiration and another.
|
32
|
+
def ttl_in_seconds=(value)
|
33
|
+
@ttl_in_seconds = value
|
34
|
+
refresh_rates_expiration! if ttl_in_seconds
|
35
|
+
end
|
36
|
+
|
37
|
+
##
|
38
|
+
# Set the rates expiration TTL seconds from the current time.
|
39
|
+
#
|
40
|
+
# @return [Time] The next expiration.
|
41
|
+
def refresh_rates_expiration!
|
42
|
+
@rates_expiration = Time.now + ttl_in_seconds
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
16
46
|
##
|
17
47
|
# Clears all rates stored in @rates
|
18
48
|
#
|
@@ -52,6 +82,8 @@ class Money
|
|
52
82
|
##
|
53
83
|
# Returns the requested rate.
|
54
84
|
#
|
85
|
+
# It also flushes all the rates when and if they are expired.
|
86
|
+
#
|
55
87
|
# @param [String, Symbol, Currency] from Currency to convert from
|
56
88
|
# @param [String, Symbol, Currency] to Currency to convert to
|
57
89
|
#
|
@@ -61,11 +93,27 @@ class Money
|
|
61
93
|
# @bank = GoogleCurrency.new #=> <Money::Bank::GoogleCurrency...>
|
62
94
|
# @bank.get_rate(:USD, :EUR) #=> 0.776337241
|
63
95
|
def get_rate(from, to)
|
96
|
+
expire_rates
|
97
|
+
|
64
98
|
@mutex.synchronize{
|
65
99
|
@rates[rate_key_for(from, to)] ||= fetch_rate(from, to)
|
66
100
|
}
|
67
101
|
end
|
68
102
|
|
103
|
+
##
|
104
|
+
# Flushes all the rates if they are expired.
|
105
|
+
#
|
106
|
+
# @return [Boolean]
|
107
|
+
def expire_rates
|
108
|
+
if self.class.ttl_in_seconds && self.class.rates_expiration <= Time.now
|
109
|
+
flush_rates
|
110
|
+
self.class.refresh_rates_expiration!
|
111
|
+
true
|
112
|
+
else
|
113
|
+
false
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
69
117
|
private
|
70
118
|
|
71
119
|
##
|
@@ -77,13 +125,8 @@ class Money
|
|
77
125
|
# @return [BigDecimal] The requested rate.
|
78
126
|
def fetch_rate(from, to)
|
79
127
|
from, to = Currency.wrap(from), Currency.wrap(to)
|
80
|
-
|
81
128
|
data = build_uri(from, to).read
|
82
|
-
|
83
|
-
|
84
|
-
error = data['error']
|
85
|
-
raise UnknownRate unless error == '' || error == '0'
|
86
|
-
decode_rate data['rhs']
|
129
|
+
extract_rate(data)
|
87
130
|
end
|
88
131
|
|
89
132
|
##
|
@@ -97,76 +140,26 @@ class Money
|
|
97
140
|
uri = URI::HTTP.build(
|
98
141
|
:host => SERVICE_HOST,
|
99
142
|
:path => SERVICE_PATH,
|
100
|
-
:query => "
|
143
|
+
:query => "a=1&from=#{from.iso_code}&to=#{to.iso_code}"
|
101
144
|
)
|
102
145
|
end
|
103
146
|
|
104
147
|
##
|
105
|
-
# Takes the
|
106
|
-
#
|
107
|
-
# @param [String] data The JSON string to fix.
|
108
|
-
#
|
109
|
-
# @return [Hash]
|
110
|
-
def fix_response_json_data(data)
|
111
|
-
data = data.force_encoding("ISO-8859-1").encode("UTF-8")
|
112
|
-
|
113
|
-
data.gsub!(/lhs:/, '"lhs":')
|
114
|
-
data.gsub!(/rhs:/, '"rhs":')
|
115
|
-
data.gsub!(/error:/, '"error":')
|
116
|
-
data.gsub!(/icc:/, '"icc":')
|
117
|
-
data.gsub!(Regexp.new("(\\\\x..|\\\\240)"), '')
|
118
|
-
|
119
|
-
MultiJson.decode(data)
|
120
|
-
end
|
121
|
-
|
122
|
-
##
|
123
|
-
# Takes the 'rhs' response from Google and decodes it.
|
148
|
+
# Takes the response from Google and extract the rate.
|
124
149
|
#
|
125
|
-
# @param [String]
|
150
|
+
# @param [String] data The google rate string to decode.
|
126
151
|
#
|
127
152
|
# @return [BigDecimal]
|
128
|
-
def
|
129
|
-
|
130
|
-
|
153
|
+
def extract_rate(data)
|
154
|
+
case data
|
155
|
+
when /<span class=bld>(\d+\.?\d*) [A-Z]{3}<\/span>/
|
156
|
+
BigDecimal($1)
|
157
|
+
when /Could not convert\./
|
158
|
+
raise UnknownRate
|
131
159
|
else
|
132
|
-
|
160
|
+
raise GoogleCurrencyFetchError
|
133
161
|
end
|
134
162
|
end
|
135
|
-
|
136
|
-
##
|
137
|
-
# Takes the 'rhs' response from Google and decides if it's a complex rate
|
138
|
-
#
|
139
|
-
# @param [String] rhs The google rate string to check.
|
140
|
-
#
|
141
|
-
# @return [Boolean]
|
142
|
-
def complex_rate?(rhs)
|
143
|
-
rhs.match(EXPONENT_REGEXP)
|
144
|
-
end
|
145
|
-
|
146
|
-
##
|
147
|
-
# Takes a complex 'rhs' response from Google and converts it to a numeric
|
148
|
-
# rate.
|
149
|
-
#
|
150
|
-
# @param [String] rhs The complex google rate string to convert.
|
151
|
-
#
|
152
|
-
# @return [BigDecimal]
|
153
|
-
def decode_complex_rate(rhs)
|
154
|
-
rate = BigDecimal(rhs.match(/\d[\d\s]*\.?\d*/)[0])
|
155
|
-
power = rhs.match(EXPONENT_REGEXP)
|
156
|
-
|
157
|
-
rate * BigDecimal("1E#{power[:exponent]}")
|
158
|
-
end
|
159
|
-
|
160
|
-
##
|
161
|
-
# Takes a basic 'rhs' response from Google and converts it to a numeric
|
162
|
-
# rate.
|
163
|
-
#
|
164
|
-
# @param [String] rhs The basic google rate string to convert.
|
165
|
-
#
|
166
|
-
# @return [BigDecimal]
|
167
|
-
def decode_basic_rate(rhs)
|
168
|
-
BigDecimal(rhs.gsub(/[^\d\.]/, ''))
|
169
|
-
end
|
170
163
|
end
|
171
164
|
end
|
172
165
|
end
|
@@ -3,15 +3,32 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
3
3
|
require 'money'
|
4
4
|
require 'money/bank/google_currency'
|
5
5
|
|
6
|
-
require 'json'
|
7
|
-
MultiJson.engine = :json_gem
|
8
|
-
|
9
6
|
describe "GoogleCurrency" do
|
10
7
|
before :each do
|
11
8
|
@bank = Money::Bank::GoogleCurrency.new
|
12
9
|
end
|
13
10
|
|
11
|
+
it "should accept a ttl_in_seconds option" do
|
12
|
+
Money::Bank::GoogleCurrency.ttl_in_seconds = 86400
|
13
|
+
Money::Bank::GoogleCurrency.ttl_in_seconds.should eql(86400)
|
14
|
+
end
|
15
|
+
|
16
|
+
describe ".refresh_rates_expiration!" do
|
17
|
+
it "set the #rates_expiration using the TTL and the current time" do
|
18
|
+
Money::Bank::GoogleCurrency.ttl_in_seconds = 86400
|
19
|
+
new_time = Time.now
|
20
|
+
Timecop.freeze(new_time)
|
21
|
+
Money::Bank::GoogleCurrency.refresh_rates_expiration!
|
22
|
+
Money::Bank::GoogleCurrency.rates_expiration.should eql(new_time + 86400)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
14
26
|
describe "#get_rate" do
|
27
|
+
it "should try to expire the rates" do
|
28
|
+
@bank.should_receive(:expire_rates).once
|
29
|
+
@bank.get_rate('USD', 'USD')
|
30
|
+
end
|
31
|
+
|
15
32
|
it "should use #fetch_rate when rate is unknown" do
|
16
33
|
@bank.should_receive(:fetch_rate).once
|
17
34
|
@bank.get_rate('USD', 'USD')
|
@@ -38,15 +55,23 @@ describe "GoogleCurrency" do
|
|
38
55
|
@bank.stub(:build_uri){ |from,to| @uri }
|
39
56
|
end
|
40
57
|
|
41
|
-
it "
|
42
|
-
|
43
|
-
@
|
44
|
-
|
58
|
+
it "should return rate when it is known" do
|
59
|
+
@uri.stub(:read) { load_rate_http_response("sgd_to_usd") }
|
60
|
+
@bank.get_rate('SGD', 'USD').should == BigDecimal("0.8066")
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should raise UnknownRate error when rate is not known" do
|
64
|
+
@uri.stub(:read) { load_rate_http_response("vnd_to_usd") }
|
65
|
+
expect {
|
66
|
+
@bank.get_rate('VND', 'USD')
|
67
|
+
}.to raise_error(Money::Bank::UnknownRate)
|
45
68
|
end
|
46
69
|
|
47
|
-
it "
|
48
|
-
@uri.stub(:read) { "
|
49
|
-
|
70
|
+
it "should raise GoogleCurrencyFetchError there is an unknown issue with extracting the exchange rate" do
|
71
|
+
@uri.stub(:read) { load_rate_http_response("error") }
|
72
|
+
expect {
|
73
|
+
@bank.get_rate('VND', 'USD')
|
74
|
+
}.to raise_error(Money::Bank::GoogleCurrencyFetchError)
|
50
75
|
end
|
51
76
|
end
|
52
77
|
end
|
@@ -68,4 +93,36 @@ describe "GoogleCurrency" do
|
|
68
93
|
@bank.rates.should_not include('USD_TO_EUR')
|
69
94
|
end
|
70
95
|
end
|
96
|
+
|
97
|
+
describe "#expire_rates" do
|
98
|
+
before do
|
99
|
+
Money::Bank::GoogleCurrency.ttl_in_seconds = 1000
|
100
|
+
end
|
101
|
+
|
102
|
+
context "when the ttl has expired" do
|
103
|
+
before do
|
104
|
+
new_time = Time.now + 1001
|
105
|
+
Timecop.freeze(new_time)
|
106
|
+
end
|
107
|
+
|
108
|
+
it "should flush all rates" do
|
109
|
+
@bank.should_receive(:flush_rates)
|
110
|
+
@bank.expire_rates
|
111
|
+
end
|
112
|
+
|
113
|
+
it "updates the next expiration time" do
|
114
|
+
exp_time = Time.now + 1000
|
115
|
+
|
116
|
+
@bank.expire_rates
|
117
|
+
Money::Bank::GoogleCurrency.rates_expiration.should eql(exp_time)
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
context "when the ttl has not expired" do
|
122
|
+
it "not should flush all rates" do
|
123
|
+
@bank.should_not_receive(:flush_rates)
|
124
|
+
@bank.expire_rates
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
71
128
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
Something went wrong.
|
@@ -0,0 +1,222 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Currency Converter - Google Finance</title>
|
5
|
+
<meta name="Description" content="Get real-time stock quotes & charts, financial news, currency conversions, or track your portfolio with Google Finance.">
|
6
|
+
<link rel="stylesheet" type="text/css" href="/finance/s/Jtl56e5m90s/styles/finance_us.css">
|
7
|
+
<link rel="icon"
|
8
|
+
type="image/vnd.microsoft.icon" href="/finance/favicon.ico"></head>
|
9
|
+
<body style="margin-left: 6px; min-width: 0px;">
|
10
|
+
<div class=g-doc>
|
11
|
+
<form action="/finance/converter" method="get" name="f">
|
12
|
+
<div class=sfe-break-top>
|
13
|
+
<input name=a maxlength=12 size=5 autocomplete=off value="1">
|
14
|
+
</div>
|
15
|
+
<div class=sfe-break-top>
|
16
|
+
<select name=from value="SGD">
|
17
|
+
<option value="AED">United Arab Emirates Dirham (AED)</option>
|
18
|
+
<option value="ANG">Netherlands Antillean Guilder (ANG)</option>
|
19
|
+
<option value="ARS">Argentine Peso (ARS)</option>
|
20
|
+
<option value="AUD">Australian Dollar (A$)</option>
|
21
|
+
<option value="BDT">Bangladeshi Taka (BDT)</option>
|
22
|
+
<option value="BGN">Bulgarian Lev (BGN)</option>
|
23
|
+
<option value="BHD">Bahraini Dinar (BHD)</option>
|
24
|
+
<option value="BND">Brunei Dollar (BND)</option>
|
25
|
+
<option value="BOB">Bolivian Boliviano (BOB)</option>
|
26
|
+
<option value="BRL">Brazilian Real (R$)</option>
|
27
|
+
<option value="BWP">Botswanan Pula (BWP)</option>
|
28
|
+
<option value="CAD">Canadian Dollar (CA$)</option>
|
29
|
+
<option value="CHF">Swiss Franc (CHF)</option>
|
30
|
+
<option value="CLP">Chilean Peso (CLP)</option>
|
31
|
+
<option value="CNY">Chinese Yuan (CN�)</option>
|
32
|
+
<option value="COP">Colombian Peso (COP)</option>
|
33
|
+
<option value="CRC">Costa Rican Col�n (CRC)</option>
|
34
|
+
<option value="CZK">Czech Republic Koruna (CZK)</option>
|
35
|
+
<option value="DKK">Danish Krone (DKK)</option>
|
36
|
+
<option value="DOP">Dominican Peso (DOP)</option>
|
37
|
+
<option value="DZD">Algerian Dinar (DZD)</option>
|
38
|
+
<option value="EEK">Estonian Kroon (EEK)</option>
|
39
|
+
<option value="EGP">Egyptian Pound (EGP)</option>
|
40
|
+
<option value="EUR">Euro (�)</option>
|
41
|
+
<option value="FJD">Fijian Dollar (FJD)</option>
|
42
|
+
<option value="GBP">British Pound Sterling (�)</option>
|
43
|
+
<option value="HKD">Hong Kong Dollar (HK$)</option>
|
44
|
+
<option value="HNL">Honduran Lempira (HNL)</option>
|
45
|
+
<option value="HRK">Croatian Kuna (HRK)</option>
|
46
|
+
<option value="HUF">Hungarian Forint (HUF)</option>
|
47
|
+
<option value="IDR">Indonesian Rupiah (IDR)</option>
|
48
|
+
<option value="ILS">Israeli New Sheqel (₪)</option>
|
49
|
+
<option value="INR">Indian Rupee (Rs.)</option>
|
50
|
+
<option value="JMD">Jamaican Dollar (JMD)</option>
|
51
|
+
<option value="JOD">Jordanian Dinar (JOD)</option>
|
52
|
+
<option value="JPY">Japanese Yen (�)</option>
|
53
|
+
<option value="KES">Kenyan Shilling (KES)</option>
|
54
|
+
<option value="KRW">South Korean Won (₩)</option>
|
55
|
+
<option value="KWD">Kuwaiti Dinar (KWD)</option>
|
56
|
+
<option value="KYD">Cayman Islands Dollar (KYD)</option>
|
57
|
+
<option value="KZT">Kazakhstani Tenge (KZT)</option>
|
58
|
+
<option value="LBP">Lebanese Pound (LBP)</option>
|
59
|
+
<option value="LKR">Sri Lankan Rupee (LKR)</option>
|
60
|
+
<option value="LTL">Lithuanian Litas (LTL)</option>
|
61
|
+
<option value="LVL">Latvian Lats (LVL)</option>
|
62
|
+
<option value="MAD">Moroccan Dirham (MAD)</option>
|
63
|
+
<option value="MDL">Moldovan Leu (MDL)</option>
|
64
|
+
<option value="MKD">Macedonian Denar (MKD)</option>
|
65
|
+
<option value="MUR">Mauritian Rupee (MUR)</option>
|
66
|
+
<option value="MVR">Maldivian Rufiyaa (MVR)</option>
|
67
|
+
<option value="MXN">Mexican Peso (MX$)</option>
|
68
|
+
<option value="MYR">Malaysian Ringgit (MYR)</option>
|
69
|
+
<option value="NAD">Namibian Dollar (NAD)</option>
|
70
|
+
<option value="NGN">Nigerian Naira (NGN)</option>
|
71
|
+
<option value="NIO">Nicaraguan C�rdoba (NIO)</option>
|
72
|
+
<option value="NOK">Norwegian Krone (NOK)</option>
|
73
|
+
<option value="NPR">Nepalese Rupee (NPR)</option>
|
74
|
+
<option value="NZD">New Zealand Dollar (NZ$)</option>
|
75
|
+
<option value="OMR">Omani Rial (OMR)</option>
|
76
|
+
<option value="PEN">Peruvian Nuevo Sol (PEN)</option>
|
77
|
+
<option value="PGK">Papua New Guinean Kina (PGK)</option>
|
78
|
+
<option value="PHP">Philippine Peso (Php)</option>
|
79
|
+
<option value="PKR">Pakistani Rupee (PKR)</option>
|
80
|
+
<option value="PLN">Polish Zloty (PLN)</option>
|
81
|
+
<option value="PYG">Paraguayan Guarani (PYG)</option>
|
82
|
+
<option value="QAR">Qatari Rial (QAR)</option>
|
83
|
+
<option value="RON">Romanian Leu (RON)</option>
|
84
|
+
<option value="RSD">Serbian Dinar (RSD)</option>
|
85
|
+
<option value="RUB">Russian Ruble (RUB)</option>
|
86
|
+
<option value="SAR">Saudi Riyal (SAR)</option>
|
87
|
+
<option value="SCR">Seychellois Rupee (SCR)</option>
|
88
|
+
<option value="SEK">Swedish Krona (SEK)</option>
|
89
|
+
<option SELECTED value="SGD">Singapore Dollar (SGD)</option>
|
90
|
+
<option value="SKK">Slovak Koruna (SKK)</option>
|
91
|
+
<option value="SLL">Sierra Leonean Leone (SLL)</option>
|
92
|
+
<option value="SVC">Salvadoran Col�n (SVC)</option>
|
93
|
+
<option value="THB">Thai Baht (฿)</option>
|
94
|
+
<option value="TND">Tunisian Dinar (TND)</option>
|
95
|
+
<option value="TRY">Turkish Lira (TRY)</option>
|
96
|
+
<option value="TTD">Trinidad and Tobago Dollar (TTD)</option>
|
97
|
+
<option value="TWD">New Taiwan Dollar (NT$)</option>
|
98
|
+
<option value="TZS">Tanzanian Shilling (TZS)</option>
|
99
|
+
<option value="UAH">Ukrainian Hryvnia (UAH)</option>
|
100
|
+
<option value="UGX">Ugandan Shilling (UGX)</option>
|
101
|
+
<option value="USD">US Dollar ($)</option>
|
102
|
+
<option value="UYU">Uruguayan Peso (UYU)</option>
|
103
|
+
<option value="UZS">Uzbekistan Som (UZS)</option>
|
104
|
+
<option value="VEF">Venezuelan Bol�var (VEF)</option>
|
105
|
+
<option value="VND">Vietnamese Dong (₫)</option>
|
106
|
+
<option value="XAF">CFA Franc BEAC (FCFA)</option>
|
107
|
+
<option value="XOF">CFA Franc BCEAO (CFA)</option>
|
108
|
+
<option value="YER">Yemeni Rial (YER)</option>
|
109
|
+
<option value="ZAR">South African Rand (ZAR)</option>
|
110
|
+
<option value="ZMK">Zambian Kwacha (1968-2012) (ZMK)</option>
|
111
|
+
<option value="ZMW">Zambian Kwacha (ZMW)</option>
|
112
|
+
</select>
|
113
|
+
</div>
|
114
|
+
<div style="padding: 6px 8px">to</div>
|
115
|
+
<div>
|
116
|
+
<select name=to value="USD">
|
117
|
+
<option value="AED">United Arab Emirates Dirham (AED)</option>
|
118
|
+
<option value="ANG">Netherlands Antillean Guilder (ANG)</option>
|
119
|
+
<option value="ARS">Argentine Peso (ARS)</option>
|
120
|
+
<option value="AUD">Australian Dollar (A$)</option>
|
121
|
+
<option value="BDT">Bangladeshi Taka (BDT)</option>
|
122
|
+
<option value="BGN">Bulgarian Lev (BGN)</option>
|
123
|
+
<option value="BHD">Bahraini Dinar (BHD)</option>
|
124
|
+
<option value="BND">Brunei Dollar (BND)</option>
|
125
|
+
<option value="BOB">Bolivian Boliviano (BOB)</option>
|
126
|
+
<option value="BRL">Brazilian Real (R$)</option>
|
127
|
+
<option value="BWP">Botswanan Pula (BWP)</option>
|
128
|
+
<option value="CAD">Canadian Dollar (CA$)</option>
|
129
|
+
<option value="CHF">Swiss Franc (CHF)</option>
|
130
|
+
<option value="CLP">Chilean Peso (CLP)</option>
|
131
|
+
<option value="CNY">Chinese Yuan (CN�)</option>
|
132
|
+
<option value="COP">Colombian Peso (COP)</option>
|
133
|
+
<option value="CRC">Costa Rican Col�n (CRC)</option>
|
134
|
+
<option value="CZK">Czech Republic Koruna (CZK)</option>
|
135
|
+
<option value="DKK">Danish Krone (DKK)</option>
|
136
|
+
<option value="DOP">Dominican Peso (DOP)</option>
|
137
|
+
<option value="DZD">Algerian Dinar (DZD)</option>
|
138
|
+
<option value="EEK">Estonian Kroon (EEK)</option>
|
139
|
+
<option value="EGP">Egyptian Pound (EGP)</option>
|
140
|
+
<option value="EUR">Euro (�)</option>
|
141
|
+
<option value="FJD">Fijian Dollar (FJD)</option>
|
142
|
+
<option value="GBP">British Pound Sterling (�)</option>
|
143
|
+
<option value="HKD">Hong Kong Dollar (HK$)</option>
|
144
|
+
<option value="HNL">Honduran Lempira (HNL)</option>
|
145
|
+
<option value="HRK">Croatian Kuna (HRK)</option>
|
146
|
+
<option value="HUF">Hungarian Forint (HUF)</option>
|
147
|
+
<option value="IDR">Indonesian Rupiah (IDR)</option>
|
148
|
+
<option value="ILS">Israeli New Sheqel (₪)</option>
|
149
|
+
<option value="INR">Indian Rupee (Rs.)</option>
|
150
|
+
<option value="JMD">Jamaican Dollar (JMD)</option>
|
151
|
+
<option value="JOD">Jordanian Dinar (JOD)</option>
|
152
|
+
<option value="JPY">Japanese Yen (�)</option>
|
153
|
+
<option value="KES">Kenyan Shilling (KES)</option>
|
154
|
+
<option value="KRW">South Korean Won (₩)</option>
|
155
|
+
<option value="KWD">Kuwaiti Dinar (KWD)</option>
|
156
|
+
<option value="KYD">Cayman Islands Dollar (KYD)</option>
|
157
|
+
<option value="KZT">Kazakhstani Tenge (KZT)</option>
|
158
|
+
<option value="LBP">Lebanese Pound (LBP)</option>
|
159
|
+
<option value="LKR">Sri Lankan Rupee (LKR)</option>
|
160
|
+
<option value="LTL">Lithuanian Litas (LTL)</option>
|
161
|
+
<option value="LVL">Latvian Lats (LVL)</option>
|
162
|
+
<option value="MAD">Moroccan Dirham (MAD)</option>
|
163
|
+
<option value="MDL">Moldovan Leu (MDL)</option>
|
164
|
+
<option value="MKD">Macedonian Denar (MKD)</option>
|
165
|
+
<option value="MUR">Mauritian Rupee (MUR)</option>
|
166
|
+
<option value="MVR">Maldivian Rufiyaa (MVR)</option>
|
167
|
+
<option value="MXN">Mexican Peso (MX$)</option>
|
168
|
+
<option value="MYR">Malaysian Ringgit (MYR)</option>
|
169
|
+
<option value="NAD">Namibian Dollar (NAD)</option>
|
170
|
+
<option value="NGN">Nigerian Naira (NGN)</option>
|
171
|
+
<option value="NIO">Nicaraguan C�rdoba (NIO)</option>
|
172
|
+
<option value="NOK">Norwegian Krone (NOK)</option>
|
173
|
+
<option value="NPR">Nepalese Rupee (NPR)</option>
|
174
|
+
<option value="NZD">New Zealand Dollar (NZ$)</option>
|
175
|
+
<option value="OMR">Omani Rial (OMR)</option>
|
176
|
+
<option value="PEN">Peruvian Nuevo Sol (PEN)</option>
|
177
|
+
<option value="PGK">Papua New Guinean Kina (PGK)</option>
|
178
|
+
<option value="PHP">Philippine Peso (Php)</option>
|
179
|
+
<option value="PKR">Pakistani Rupee (PKR)</option>
|
180
|
+
<option value="PLN">Polish Zloty (PLN)</option>
|
181
|
+
<option value="PYG">Paraguayan Guarani (PYG)</option>
|
182
|
+
<option value="QAR">Qatari Rial (QAR)</option>
|
183
|
+
<option value="RON">Romanian Leu (RON)</option>
|
184
|
+
<option value="RSD">Serbian Dinar (RSD)</option>
|
185
|
+
<option value="RUB">Russian Ruble (RUB)</option>
|
186
|
+
<option value="SAR">Saudi Riyal (SAR)</option>
|
187
|
+
<option value="SCR">Seychellois Rupee (SCR)</option>
|
188
|
+
<option value="SEK">Swedish Krona (SEK)</option>
|
189
|
+
<option value="SGD">Singapore Dollar (SGD)</option>
|
190
|
+
<option value="SKK">Slovak Koruna (SKK)</option>
|
191
|
+
<option value="SLL">Sierra Leonean Leone (SLL)</option>
|
192
|
+
<option value="SVC">Salvadoran Col�n (SVC)</option>
|
193
|
+
<option value="THB">Thai Baht (฿)</option>
|
194
|
+
<option value="TND">Tunisian Dinar (TND)</option>
|
195
|
+
<option value="TRY">Turkish Lira (TRY)</option>
|
196
|
+
<option value="TTD">Trinidad and Tobago Dollar (TTD)</option>
|
197
|
+
<option value="TWD">New Taiwan Dollar (NT$)</option>
|
198
|
+
<option value="TZS">Tanzanian Shilling (TZS)</option>
|
199
|
+
<option value="UAH">Ukrainian Hryvnia (UAH)</option>
|
200
|
+
<option value="UGX">Ugandan Shilling (UGX)</option>
|
201
|
+
<option SELECTED value="USD">US Dollar ($)</option>
|
202
|
+
<option value="UYU">Uruguayan Peso (UYU)</option>
|
203
|
+
<option value="UZS">Uzbekistan Som (UZS)</option>
|
204
|
+
<option value="VEF">Venezuelan Bol�var (VEF)</option>
|
205
|
+
<option value="VND">Vietnamese Dong (₫)</option>
|
206
|
+
<option value="XAF">CFA Franc BEAC (FCFA)</option>
|
207
|
+
<option value="XOF">CFA Franc BCEAO (CFA)</option>
|
208
|
+
<option value="YER">Yemeni Rial (YER)</option>
|
209
|
+
<option value="ZAR">South African Rand (ZAR)</option>
|
210
|
+
<option value="ZMK">Zambian Kwacha (1968-2012) (ZMK)</option>
|
211
|
+
<option value="ZMW">Zambian Kwacha (ZMW)</option>
|
212
|
+
</select>
|
213
|
+
</div>
|
214
|
+
|
215
|
+
<div id=currency_converter_result>1 SGD = <span class=bld>0.8066 USD</span>
|
216
|
+
<input type=submit value="Convert">
|
217
|
+
</div>
|
218
|
+
<input type=hidden name=meta value=ei=QAtyUrDYB8mMkgXJ3QE>
|
219
|
+
</form>
|
220
|
+
</body>
|
221
|
+
</div>
|
222
|
+
</html>
|
@@ -0,0 +1,223 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Currency Converter - Google Finance</title>
|
5
|
+
<meta name="Description" content="Get real-time stock quotes & charts, financial news, currency conversions, or track your portfolio with Google Finance.">
|
6
|
+
<link rel="stylesheet" type="text/css" href="/finance/s/Jtl56e5m90s/styles/finance_us.css">
|
7
|
+
<link rel="icon"
|
8
|
+
type="image/vnd.microsoft.icon" href="/finance/favicon.ico"></head>
|
9
|
+
<body style="margin-left: 6px; min-width: 0px;">
|
10
|
+
<div class=g-doc>
|
11
|
+
<form action="/finance/converter" method="get" name="f">
|
12
|
+
<div class=sfe-break-top>
|
13
|
+
<input name=a maxlength=12 size=5 autocomplete=off value="1">
|
14
|
+
</div>
|
15
|
+
<div class=sfe-break-top>
|
16
|
+
<select name=from value="VND">
|
17
|
+
<option value="AED">United Arab Emirates Dirham (AED)</option>
|
18
|
+
<option value="ANG">Netherlands Antillean Guilder (ANG)</option>
|
19
|
+
<option value="ARS">Argentine Peso (ARS)</option>
|
20
|
+
<option value="AUD">Australian Dollar (A$)</option>
|
21
|
+
<option value="BDT">Bangladeshi Taka (BDT)</option>
|
22
|
+
<option value="BGN">Bulgarian Lev (BGN)</option>
|
23
|
+
<option value="BHD">Bahraini Dinar (BHD)</option>
|
24
|
+
<option value="BND">Brunei Dollar (BND)</option>
|
25
|
+
<option value="BOB">Bolivian Boliviano (BOB)</option>
|
26
|
+
<option value="BRL">Brazilian Real (R$)</option>
|
27
|
+
<option value="BWP">Botswanan Pula (BWP)</option>
|
28
|
+
<option value="CAD">Canadian Dollar (CA$)</option>
|
29
|
+
<option value="CHF">Swiss Franc (CHF)</option>
|
30
|
+
<option value="CLP">Chilean Peso (CLP)</option>
|
31
|
+
<option value="CNY">Chinese Yuan (CN�)</option>
|
32
|
+
<option value="COP">Colombian Peso (COP)</option>
|
33
|
+
<option value="CRC">Costa Rican Col�n (CRC)</option>
|
34
|
+
<option value="CZK">Czech Republic Koruna (CZK)</option>
|
35
|
+
<option value="DKK">Danish Krone (DKK)</option>
|
36
|
+
<option value="DOP">Dominican Peso (DOP)</option>
|
37
|
+
<option value="DZD">Algerian Dinar (DZD)</option>
|
38
|
+
<option value="EEK">Estonian Kroon (EEK)</option>
|
39
|
+
<option value="EGP">Egyptian Pound (EGP)</option>
|
40
|
+
<option value="EUR">Euro (�)</option>
|
41
|
+
<option value="FJD">Fijian Dollar (FJD)</option>
|
42
|
+
<option value="GBP">British Pound Sterling (�)</option>
|
43
|
+
<option value="HKD">Hong Kong Dollar (HK$)</option>
|
44
|
+
<option value="HNL">Honduran Lempira (HNL)</option>
|
45
|
+
<option value="HRK">Croatian Kuna (HRK)</option>
|
46
|
+
<option value="HUF">Hungarian Forint (HUF)</option>
|
47
|
+
<option value="IDR">Indonesian Rupiah (IDR)</option>
|
48
|
+
<option value="ILS">Israeli New Sheqel (₪)</option>
|
49
|
+
<option value="INR">Indian Rupee (Rs.)</option>
|
50
|
+
<option value="JMD">Jamaican Dollar (JMD)</option>
|
51
|
+
<option value="JOD">Jordanian Dinar (JOD)</option>
|
52
|
+
<option value="JPY">Japanese Yen (�)</option>
|
53
|
+
<option value="KES">Kenyan Shilling (KES)</option>
|
54
|
+
<option value="KRW">South Korean Won (₩)</option>
|
55
|
+
<option value="KWD">Kuwaiti Dinar (KWD)</option>
|
56
|
+
<option value="KYD">Cayman Islands Dollar (KYD)</option>
|
57
|
+
<option value="KZT">Kazakhstani Tenge (KZT)</option>
|
58
|
+
<option value="LBP">Lebanese Pound (LBP)</option>
|
59
|
+
<option value="LKR">Sri Lankan Rupee (LKR)</option>
|
60
|
+
<option value="LTL">Lithuanian Litas (LTL)</option>
|
61
|
+
<option value="LVL">Latvian Lats (LVL)</option>
|
62
|
+
<option value="MAD">Moroccan Dirham (MAD)</option>
|
63
|
+
<option value="MDL">Moldovan Leu (MDL)</option>
|
64
|
+
<option value="MKD">Macedonian Denar (MKD)</option>
|
65
|
+
<option value="MUR">Mauritian Rupee (MUR)</option>
|
66
|
+
<option value="MVR">Maldivian Rufiyaa (MVR)</option>
|
67
|
+
<option value="MXN">Mexican Peso (MX$)</option>
|
68
|
+
<option value="MYR">Malaysian Ringgit (MYR)</option>
|
69
|
+
<option value="NAD">Namibian Dollar (NAD)</option>
|
70
|
+
<option value="NGN">Nigerian Naira (NGN)</option>
|
71
|
+
<option value="NIO">Nicaraguan C�rdoba (NIO)</option>
|
72
|
+
<option value="NOK">Norwegian Krone (NOK)</option>
|
73
|
+
<option value="NPR">Nepalese Rupee (NPR)</option>
|
74
|
+
<option value="NZD">New Zealand Dollar (NZ$)</option>
|
75
|
+
<option value="OMR">Omani Rial (OMR)</option>
|
76
|
+
<option value="PEN">Peruvian Nuevo Sol (PEN)</option>
|
77
|
+
<option value="PGK">Papua New Guinean Kina (PGK)</option>
|
78
|
+
<option value="PHP">Philippine Peso (Php)</option>
|
79
|
+
<option value="PKR">Pakistani Rupee (PKR)</option>
|
80
|
+
<option value="PLN">Polish Zloty (PLN)</option>
|
81
|
+
<option value="PYG">Paraguayan Guarani (PYG)</option>
|
82
|
+
<option value="QAR">Qatari Rial (QAR)</option>
|
83
|
+
<option value="RON">Romanian Leu (RON)</option>
|
84
|
+
<option value="RSD">Serbian Dinar (RSD)</option>
|
85
|
+
<option value="RUB">Russian Ruble (RUB)</option>
|
86
|
+
<option value="SAR">Saudi Riyal (SAR)</option>
|
87
|
+
<option value="SCR">Seychellois Rupee (SCR)</option>
|
88
|
+
<option value="SEK">Swedish Krona (SEK)</option>
|
89
|
+
<option value="SGD">Singapore Dollar (SGD)</option>
|
90
|
+
<option value="SKK">Slovak Koruna (SKK)</option>
|
91
|
+
<option value="SLL">Sierra Leonean Leone (SLL)</option>
|
92
|
+
<option value="SVC">Salvadoran Col�n (SVC)</option>
|
93
|
+
<option value="THB">Thai Baht (฿)</option>
|
94
|
+
<option value="TND">Tunisian Dinar (TND)</option>
|
95
|
+
<option value="TRY">Turkish Lira (TRY)</option>
|
96
|
+
<option value="TTD">Trinidad and Tobago Dollar (TTD)</option>
|
97
|
+
<option value="TWD">New Taiwan Dollar (NT$)</option>
|
98
|
+
<option value="TZS">Tanzanian Shilling (TZS)</option>
|
99
|
+
<option value="UAH">Ukrainian Hryvnia (UAH)</option>
|
100
|
+
<option value="UGX">Ugandan Shilling (UGX)</option>
|
101
|
+
<option value="USD">US Dollar ($)</option>
|
102
|
+
<option value="UYU">Uruguayan Peso (UYU)</option>
|
103
|
+
<option value="UZS">Uzbekistan Som (UZS)</option>
|
104
|
+
<option value="VEF">Venezuelan Bol�var (VEF)</option>
|
105
|
+
<option SELECTED value="VND">Vietnamese Dong (₫)</option>
|
106
|
+
<option value="XAF">CFA Franc BEAC (FCFA)</option>
|
107
|
+
<option value="XOF">CFA Franc BCEAO (CFA)</option>
|
108
|
+
<option value="YER">Yemeni Rial (YER)</option>
|
109
|
+
<option value="ZAR">South African Rand (ZAR)</option>
|
110
|
+
<option value="ZMK">Zambian Kwacha (1968-2012) (ZMK)</option>
|
111
|
+
<option value="ZMW">Zambian Kwacha (ZMW)</option>
|
112
|
+
</select>
|
113
|
+
</div>
|
114
|
+
<div style="padding: 6px 8px">to</div>
|
115
|
+
<div>
|
116
|
+
<select name=to value="USD">
|
117
|
+
<option value="AED">United Arab Emirates Dirham (AED)</option>
|
118
|
+
<option value="ANG">Netherlands Antillean Guilder (ANG)</option>
|
119
|
+
<option value="ARS">Argentine Peso (ARS)</option>
|
120
|
+
<option value="AUD">Australian Dollar (A$)</option>
|
121
|
+
<option value="BDT">Bangladeshi Taka (BDT)</option>
|
122
|
+
<option value="BGN">Bulgarian Lev (BGN)</option>
|
123
|
+
<option value="BHD">Bahraini Dinar (BHD)</option>
|
124
|
+
<option value="BND">Brunei Dollar (BND)</option>
|
125
|
+
<option value="BOB">Bolivian Boliviano (BOB)</option>
|
126
|
+
<option value="BRL">Brazilian Real (R$)</option>
|
127
|
+
<option value="BWP">Botswanan Pula (BWP)</option>
|
128
|
+
<option value="CAD">Canadian Dollar (CA$)</option>
|
129
|
+
<option value="CHF">Swiss Franc (CHF)</option>
|
130
|
+
<option value="CLP">Chilean Peso (CLP)</option>
|
131
|
+
<option value="CNY">Chinese Yuan (CN�)</option>
|
132
|
+
<option value="COP">Colombian Peso (COP)</option>
|
133
|
+
<option value="CRC">Costa Rican Col�n (CRC)</option>
|
134
|
+
<option value="CZK">Czech Republic Koruna (CZK)</option>
|
135
|
+
<option value="DKK">Danish Krone (DKK)</option>
|
136
|
+
<option value="DOP">Dominican Peso (DOP)</option>
|
137
|
+
<option value="DZD">Algerian Dinar (DZD)</option>
|
138
|
+
<option value="EEK">Estonian Kroon (EEK)</option>
|
139
|
+
<option value="EGP">Egyptian Pound (EGP)</option>
|
140
|
+
<option value="EUR">Euro (�)</option>
|
141
|
+
<option value="FJD">Fijian Dollar (FJD)</option>
|
142
|
+
<option value="GBP">British Pound Sterling (�)</option>
|
143
|
+
<option value="HKD">Hong Kong Dollar (HK$)</option>
|
144
|
+
<option value="HNL">Honduran Lempira (HNL)</option>
|
145
|
+
<option value="HRK">Croatian Kuna (HRK)</option>
|
146
|
+
<option value="HUF">Hungarian Forint (HUF)</option>
|
147
|
+
<option value="IDR">Indonesian Rupiah (IDR)</option>
|
148
|
+
<option value="ILS">Israeli New Sheqel (₪)</option>
|
149
|
+
<option value="INR">Indian Rupee (Rs.)</option>
|
150
|
+
<option value="JMD">Jamaican Dollar (JMD)</option>
|
151
|
+
<option value="JOD">Jordanian Dinar (JOD)</option>
|
152
|
+
<option value="JPY">Japanese Yen (�)</option>
|
153
|
+
<option value="KES">Kenyan Shilling (KES)</option>
|
154
|
+
<option value="KRW">South Korean Won (₩)</option>
|
155
|
+
<option value="KWD">Kuwaiti Dinar (KWD)</option>
|
156
|
+
<option value="KYD">Cayman Islands Dollar (KYD)</option>
|
157
|
+
<option value="KZT">Kazakhstani Tenge (KZT)</option>
|
158
|
+
<option value="LBP">Lebanese Pound (LBP)</option>
|
159
|
+
<option value="LKR">Sri Lankan Rupee (LKR)</option>
|
160
|
+
<option value="LTL">Lithuanian Litas (LTL)</option>
|
161
|
+
<option value="LVL">Latvian Lats (LVL)</option>
|
162
|
+
<option value="MAD">Moroccan Dirham (MAD)</option>
|
163
|
+
<option value="MDL">Moldovan Leu (MDL)</option>
|
164
|
+
<option value="MKD">Macedonian Denar (MKD)</option>
|
165
|
+
<option value="MUR">Mauritian Rupee (MUR)</option>
|
166
|
+
<option value="MVR">Maldivian Rufiyaa (MVR)</option>
|
167
|
+
<option value="MXN">Mexican Peso (MX$)</option>
|
168
|
+
<option value="MYR">Malaysian Ringgit (MYR)</option>
|
169
|
+
<option value="NAD">Namibian Dollar (NAD)</option>
|
170
|
+
<option value="NGN">Nigerian Naira (NGN)</option>
|
171
|
+
<option value="NIO">Nicaraguan C�rdoba (NIO)</option>
|
172
|
+
<option value="NOK">Norwegian Krone (NOK)</option>
|
173
|
+
<option value="NPR">Nepalese Rupee (NPR)</option>
|
174
|
+
<option value="NZD">New Zealand Dollar (NZ$)</option>
|
175
|
+
<option value="OMR">Omani Rial (OMR)</option>
|
176
|
+
<option value="PEN">Peruvian Nuevo Sol (PEN)</option>
|
177
|
+
<option value="PGK">Papua New Guinean Kina (PGK)</option>
|
178
|
+
<option value="PHP">Philippine Peso (Php)</option>
|
179
|
+
<option value="PKR">Pakistani Rupee (PKR)</option>
|
180
|
+
<option value="PLN">Polish Zloty (PLN)</option>
|
181
|
+
<option value="PYG">Paraguayan Guarani (PYG)</option>
|
182
|
+
<option value="QAR">Qatari Rial (QAR)</option>
|
183
|
+
<option value="RON">Romanian Leu (RON)</option>
|
184
|
+
<option value="RSD">Serbian Dinar (RSD)</option>
|
185
|
+
<option value="RUB">Russian Ruble (RUB)</option>
|
186
|
+
<option value="SAR">Saudi Riyal (SAR)</option>
|
187
|
+
<option value="SCR">Seychellois Rupee (SCR)</option>
|
188
|
+
<option value="SEK">Swedish Krona (SEK)</option>
|
189
|
+
<option value="SGD">Singapore Dollar (SGD)</option>
|
190
|
+
<option value="SKK">Slovak Koruna (SKK)</option>
|
191
|
+
<option value="SLL">Sierra Leonean Leone (SLL)</option>
|
192
|
+
<option value="SVC">Salvadoran Col�n (SVC)</option>
|
193
|
+
<option value="THB">Thai Baht (฿)</option>
|
194
|
+
<option value="TND">Tunisian Dinar (TND)</option>
|
195
|
+
<option value="TRY">Turkish Lira (TRY)</option>
|
196
|
+
<option value="TTD">Trinidad and Tobago Dollar (TTD)</option>
|
197
|
+
<option value="TWD">New Taiwan Dollar (NT$)</option>
|
198
|
+
<option value="TZS">Tanzanian Shilling (TZS)</option>
|
199
|
+
<option value="UAH">Ukrainian Hryvnia (UAH)</option>
|
200
|
+
<option value="UGX">Ugandan Shilling (UGX)</option>
|
201
|
+
<option SELECTED value="USD">US Dollar ($)</option>
|
202
|
+
<option value="UYU">Uruguayan Peso (UYU)</option>
|
203
|
+
<option value="UZS">Uzbekistan Som (UZS)</option>
|
204
|
+
<option value="VEF">Venezuelan Bol�var (VEF)</option>
|
205
|
+
<option value="VND">Vietnamese Dong (₫)</option>
|
206
|
+
<option value="XAF">CFA Franc BEAC (FCFA)</option>
|
207
|
+
<option value="XOF">CFA Franc BCEAO (CFA)</option>
|
208
|
+
<option value="YER">Yemeni Rial (YER)</option>
|
209
|
+
<option value="ZAR">South African Rand (ZAR)</option>
|
210
|
+
<option value="ZMK">Zambian Kwacha (1968-2012) (ZMK)</option>
|
211
|
+
<option value="ZMW">Zambian Kwacha (ZMW)</option>
|
212
|
+
</select>
|
213
|
+
</div>
|
214
|
+
|
215
|
+
<div id=currency_converter_result>
|
216
|
+
Could not convert.
|
217
|
+
<input type=submit value="Convert">
|
218
|
+
</div>
|
219
|
+
<input type=hidden name=meta value=ei=UAtyUrC2PInckgWt8QE>
|
220
|
+
</form>
|
221
|
+
</body>
|
222
|
+
</div>
|
223
|
+
</html>
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google_currency
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-11-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
@@ -43,22 +43,6 @@ dependencies:
|
|
43
43
|
- - ! '>='
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
version: 0.5.8
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: json
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 1.4.0
|
54
|
-
type: :development
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: 1.4.0
|
62
46
|
- !ruby/object:Gem::Dependency
|
63
47
|
name: ffi
|
64
48
|
requirement: !ruby/object:Gem::Requirement
|
@@ -91,22 +75,6 @@ dependencies:
|
|
91
75
|
- - ~>
|
92
76
|
- !ruby/object:Gem::Version
|
93
77
|
version: 5.1.1
|
94
|
-
- !ruby/object:Gem::Dependency
|
95
|
-
name: multi_json
|
96
|
-
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
|
-
requirements:
|
99
|
-
- - ! '>='
|
100
|
-
- !ruby/object:Gem::Version
|
101
|
-
version: '0'
|
102
|
-
type: :runtime
|
103
|
-
prerelease: false
|
104
|
-
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
78
|
description: GoogleCurrency extends Money::Bank::Base and gives you access to the
|
111
79
|
current Google Currency exchange rates.
|
112
80
|
email:
|
@@ -117,6 +85,9 @@ extra_rdoc_files: []
|
|
117
85
|
files:
|
118
86
|
- lib/money/bank/google_currency.rb
|
119
87
|
- spec/google_currency_with_json_spec.rb
|
88
|
+
- spec/rates/sgd_to_usd.html
|
89
|
+
- spec/rates/error.html
|
90
|
+
- spec/rates/vnd_to_usd.html
|
120
91
|
- spec/spec_helper.rb
|
121
92
|
- LICENSE
|
122
93
|
- README.md
|