google_finance_currency_converter 0.2.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +4 -5
- data/Gemfile.lock +57 -22
- data/README.rdoc +1 -1
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/google_finance_currency_converter.gemspec +17 -19
- data/lib/google_finance_currency_converter.rb +5 -2
- data/spec/google_finance_currency_converter_spec.rb +29 -17
- data/spec/helper/error.html +221 -0
- data/spec/spec_helper.rb +14 -0
- metadata +22 -50
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 44fc65187b8b654f07f0946df6d6f3a5a8857783
|
|
4
|
+
data.tar.gz: 9b3daaeff75df2e81e0a9b295bfc0809d5b9b2b0
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: b45001163f59ad9874922be89ef50f53ca99bede5e85ee4bd43fb78e44c8fac04b3663978cc92546f7a7d59c699ef34f21b57e2cb458a2f971a16175ce2cbd2a
|
|
7
|
+
data.tar.gz: 0a30c78d8fbcdf855538b15cb6484b2ec620994b6f29bd85ead28c0f92ababe3495a2144bd53484695d71f67bc739941606fdab52e25f1845bcc20de633cfb96
|
data/Gemfile
CHANGED
|
@@ -6,9 +6,8 @@ source "http://rubygems.org"
|
|
|
6
6
|
# Add dependencies to develop your gem here.
|
|
7
7
|
# Include everything needed to run rake, tests, features, etc.
|
|
8
8
|
group :development do
|
|
9
|
-
gem "rspec"
|
|
10
|
-
gem "bundler"
|
|
11
|
-
gem "jeweler"
|
|
12
|
-
gem "
|
|
13
|
-
gem "webmock", "1.7.7"
|
|
9
|
+
gem "rspec"
|
|
10
|
+
gem "bundler"
|
|
11
|
+
gem "jeweler"
|
|
12
|
+
gem "webmock"
|
|
14
13
|
end
|
data/Gemfile.lock
CHANGED
|
@@ -1,34 +1,69 @@
|
|
|
1
1
|
GEM
|
|
2
2
|
remote: http://rubygems.org/
|
|
3
3
|
specs:
|
|
4
|
-
addressable (2.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
addressable (2.3.5)
|
|
5
|
+
builder (3.2.2)
|
|
6
|
+
crack (0.4.1)
|
|
7
|
+
safe_yaml (~> 0.9.0)
|
|
8
|
+
diff-lcs (1.2.4)
|
|
9
|
+
faraday (0.8.8)
|
|
10
|
+
multipart-post (~> 1.2.0)
|
|
7
11
|
git (1.2.5)
|
|
8
|
-
|
|
12
|
+
github_api (0.10.1)
|
|
13
|
+
addressable
|
|
14
|
+
faraday (~> 0.8.1)
|
|
15
|
+
hashie (>= 1.2)
|
|
16
|
+
multi_json (~> 1.4)
|
|
17
|
+
nokogiri (~> 1.5.2)
|
|
18
|
+
oauth2
|
|
19
|
+
hashie (2.0.5)
|
|
20
|
+
highline (1.6.19)
|
|
21
|
+
httpauth (0.2.0)
|
|
22
|
+
jeweler (1.8.6)
|
|
23
|
+
builder
|
|
9
24
|
bundler (~> 1.0)
|
|
10
25
|
git (>= 1.2.5)
|
|
26
|
+
github_api (= 0.10.1)
|
|
27
|
+
highline (>= 1.6.15)
|
|
28
|
+
nokogiri (= 1.5.10)
|
|
11
29
|
rake
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
30
|
+
rdoc
|
|
31
|
+
json (1.8.0)
|
|
32
|
+
jwt (0.1.8)
|
|
33
|
+
multi_json (>= 1.5)
|
|
34
|
+
multi_json (1.7.7)
|
|
35
|
+
multi_xml (0.5.4)
|
|
36
|
+
multipart-post (1.2.0)
|
|
37
|
+
nokogiri (1.5.10)
|
|
38
|
+
oauth2 (0.9.2)
|
|
39
|
+
faraday (~> 0.8)
|
|
40
|
+
httpauth (~> 0.2)
|
|
41
|
+
jwt (~> 0.1.4)
|
|
42
|
+
multi_json (~> 1.0)
|
|
43
|
+
multi_xml (~> 0.5)
|
|
44
|
+
rack (~> 1.2)
|
|
45
|
+
rack (1.5.2)
|
|
46
|
+
rake (10.1.0)
|
|
47
|
+
rdoc (4.0.1)
|
|
48
|
+
json (~> 1.4)
|
|
49
|
+
rspec (2.14.1)
|
|
50
|
+
rspec-core (~> 2.14.0)
|
|
51
|
+
rspec-expectations (~> 2.14.0)
|
|
52
|
+
rspec-mocks (~> 2.14.0)
|
|
53
|
+
rspec-core (2.14.4)
|
|
54
|
+
rspec-expectations (2.14.0)
|
|
55
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
|
56
|
+
rspec-mocks (2.14.2)
|
|
57
|
+
safe_yaml (0.9.4)
|
|
58
|
+
webmock (1.13.0)
|
|
59
|
+
addressable (>= 2.2.7)
|
|
60
|
+
crack (>= 0.3.2)
|
|
25
61
|
|
|
26
62
|
PLATFORMS
|
|
27
63
|
ruby
|
|
28
64
|
|
|
29
65
|
DEPENDENCIES
|
|
30
|
-
bundler
|
|
31
|
-
jeweler
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
webmock (= 1.7.7)
|
|
66
|
+
bundler
|
|
67
|
+
jeweler
|
|
68
|
+
rspec
|
|
69
|
+
webmock
|
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
0.3.1
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = "google_finance_currency_converter"
|
|
8
|
-
s.version = "0.
|
|
8
|
+
s.version = "0.3.1"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Pedro Menezes"]
|
|
12
|
-
s.date = "2013-
|
|
12
|
+
s.date = "2013-08-01"
|
|
13
13
|
s.description = "a wrapper for google finance currency converter"
|
|
14
14
|
s.email = "pedrojudo@gmail.com"
|
|
15
15
|
s.extra_rdoc_files = [
|
|
@@ -28,37 +28,35 @@ Gem::Specification.new do |s|
|
|
|
28
28
|
"google_finance_currency_converter.gemspec",
|
|
29
29
|
"lib/google_finance_currency_converter.rb",
|
|
30
30
|
"spec/google_finance_currency_converter_spec.rb",
|
|
31
|
+
"spec/helper/error.html",
|
|
31
32
|
"spec/helper/response.html",
|
|
32
33
|
"spec/spec_helper.rb"
|
|
33
34
|
]
|
|
34
35
|
s.homepage = "http://github.com/pedromenezes/google_finance_currency_converter"
|
|
35
36
|
s.licenses = ["MIT"]
|
|
36
37
|
s.require_paths = ["lib"]
|
|
37
|
-
s.rubygems_version = "
|
|
38
|
+
s.rubygems_version = "2.0.5"
|
|
38
39
|
s.summary = "a wrapper for google finance currency converter"
|
|
39
40
|
|
|
40
41
|
if s.respond_to? :specification_version then
|
|
41
|
-
s.specification_version =
|
|
42
|
+
s.specification_version = 4
|
|
42
43
|
|
|
43
44
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
44
|
-
s.add_development_dependency(%q<rspec>, ["
|
|
45
|
-
s.add_development_dependency(%q<bundler>, ["
|
|
46
|
-
s.add_development_dependency(%q<jeweler>, ["
|
|
47
|
-
s.add_development_dependency(%q<
|
|
48
|
-
s.add_development_dependency(%q<webmock>, ["= 1.7.7"])
|
|
45
|
+
s.add_development_dependency(%q<rspec>, [">= 0"])
|
|
46
|
+
s.add_development_dependency(%q<bundler>, [">= 0"])
|
|
47
|
+
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
|
48
|
+
s.add_development_dependency(%q<webmock>, [">= 0"])
|
|
49
49
|
else
|
|
50
|
-
s.add_dependency(%q<rspec>, ["
|
|
51
|
-
s.add_dependency(%q<bundler>, ["
|
|
52
|
-
s.add_dependency(%q<jeweler>, ["
|
|
53
|
-
s.add_dependency(%q<
|
|
54
|
-
s.add_dependency(%q<webmock>, ["= 1.7.7"])
|
|
50
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
|
51
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
|
52
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
|
53
|
+
s.add_dependency(%q<webmock>, [">= 0"])
|
|
55
54
|
end
|
|
56
55
|
else
|
|
57
|
-
s.add_dependency(%q<rspec>, ["
|
|
58
|
-
s.add_dependency(%q<bundler>, ["
|
|
59
|
-
s.add_dependency(%q<jeweler>, ["
|
|
60
|
-
s.add_dependency(%q<
|
|
61
|
-
s.add_dependency(%q<webmock>, ["= 1.7.7"])
|
|
56
|
+
s.add_dependency(%q<rspec>, [">= 0"])
|
|
57
|
+
s.add_dependency(%q<bundler>, [">= 0"])
|
|
58
|
+
s.add_dependency(%q<jeweler>, [">= 0"])
|
|
59
|
+
s.add_dependency(%q<webmock>, [">= 0"])
|
|
62
60
|
end
|
|
63
61
|
end
|
|
64
62
|
|
|
@@ -4,9 +4,10 @@ class GoogleFinanceCurrencyConverter
|
|
|
4
4
|
def initialize(params={})
|
|
5
5
|
@from = params[:from]
|
|
6
6
|
@to = params[:to]
|
|
7
|
+
raise "Same code" if @from == @to
|
|
7
8
|
end
|
|
8
9
|
|
|
9
|
-
def
|
|
10
|
+
def rate
|
|
10
11
|
parse_response(request)
|
|
11
12
|
end
|
|
12
13
|
|
|
@@ -16,6 +17,8 @@ class GoogleFinanceCurrencyConverter
|
|
|
16
17
|
end
|
|
17
18
|
|
|
18
19
|
def parse_response(response)
|
|
19
|
-
response.scan(/<span class=bld>([^.]+(?:\.(?:\d+))?)/)
|
|
20
|
+
rate = response.scan(/<span class=bld>([^.]+(?:\.(?:\d+))?)/)
|
|
21
|
+
raise "Rate not found" if rate.empty?
|
|
22
|
+
rate[0][0].to_f
|
|
20
23
|
end
|
|
21
24
|
end
|
|
@@ -1,24 +1,36 @@
|
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
2
|
|
|
3
|
-
describe
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
describe GoogleFinanceCurrencyConverter do
|
|
4
|
+
describe "conversion" do
|
|
5
|
+
it "should work with currency that returns an integer" do
|
|
6
|
+
stub_converted_val_response(2)
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
converter = GoogleFinanceCurrencyConverter.new(:from => 'GBP', :to => 'BRL')
|
|
9
|
+
converter.rate.should == 2
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it "should work with currency that returns a float" do
|
|
13
|
+
stub_converted_val_response(2.784)
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
converter = GoogleFinanceCurrencyConverter.new(:from => 'GBP', :to => 'BRL')
|
|
16
|
+
converter.rate.should == 2.784
|
|
17
|
+
end
|
|
16
18
|
end
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
|
|
20
|
+
describe "raising error" do
|
|
21
|
+
it "should raise 'Same code' if from and to codes are the same" do
|
|
22
|
+
lambda {
|
|
23
|
+
converter = GoogleFinanceCurrencyConverter.new(:from => 'BRL', :to => 'BRL')
|
|
24
|
+
}.should raise_error("Same code")
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
it "should raise 'Rate not found' if the conversion doesn't exist" do
|
|
28
|
+
stub_error_response()
|
|
29
|
+
|
|
30
|
+
converter = GoogleFinanceCurrencyConverter.new(:from => 'BRL', :to => 'ALL')
|
|
31
|
+
lambda {
|
|
32
|
+
converter.rate
|
|
33
|
+
}.should raise_error("Rate not found")
|
|
34
|
+
end
|
|
23
35
|
end
|
|
24
36
|
end
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
|
|
2
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
3
|
+
<html>
|
|
4
|
+
<head>
|
|
5
|
+
<title>Currency Converter - Google Finance</title>
|
|
6
|
+
<meta name="Description" content="Get real-time stock quotes & charts, financial news, currency conversions, or track your portfolio with Google Finance.">
|
|
7
|
+
<link rel="stylesheet" type="text/css" href="/finance/s/Jtl56e5m90s/styles/finance_us.css">
|
|
8
|
+
<link rel="icon"
|
|
9
|
+
type="image/vnd.microsoft.icon" href="/finance/favicon.ico"></head>
|
|
10
|
+
<body style="margin-left: 6px; min-width: 0px;">
|
|
11
|
+
<div class=g-doc>
|
|
12
|
+
<form action="/finance/converter" method="get" name="f">
|
|
13
|
+
<div class=sfe-break-top>
|
|
14
|
+
<input name=a maxlength=12 size=5 autocomplete=off value="1">
|
|
15
|
+
</div>
|
|
16
|
+
<div class=sfe-break-top>
|
|
17
|
+
<select name=from value="BRL">
|
|
18
|
+
<option value="AED">United Arab Emirates Dirham (AED)</option>
|
|
19
|
+
<option value="ANG">Netherlands Antillean Guilder (ANG)</option>
|
|
20
|
+
<option value="ARS">Argentine Peso (ARS)</option>
|
|
21
|
+
<option value="AUD">Australian Dollar (A$)</option>
|
|
22
|
+
<option value="BDT">Bangladeshi Taka (BDT)</option>
|
|
23
|
+
<option value="BGN">Bulgarian Lev (BGN)</option>
|
|
24
|
+
<option value="BHD">Bahraini Dinar (BHD)</option>
|
|
25
|
+
<option value="BND">Brunei Dollar (BND)</option>
|
|
26
|
+
<option value="BOB">Bolivian Boliviano (BOB)</option>
|
|
27
|
+
<option SELECTED value="BRL">Brazilian Real (R$)</option>
|
|
28
|
+
<option value="BWP">Botswanan Pula (BWP)</option>
|
|
29
|
+
<option value="CAD">Canadian Dollar (CA$)</option>
|
|
30
|
+
<option value="CHF">Swiss Franc (CHF)</option>
|
|
31
|
+
<option value="CLP">Chilean Peso (CLP)</option>
|
|
32
|
+
<option value="CNY">Chinese Yuan (CN¥)</option>
|
|
33
|
+
<option value="COP">Colombian Peso (COP)</option>
|
|
34
|
+
<option value="CRC">Costa Rican Colón (CRC)</option>
|
|
35
|
+
<option value="CZK">Czech Republic Koruna (CZK)</option>
|
|
36
|
+
<option value="DKK">Danish Krone (DKK)</option>
|
|
37
|
+
<option value="DOP">Dominican Peso (DOP)</option>
|
|
38
|
+
<option value="DZD">Algerian Dinar (DZD)</option>
|
|
39
|
+
<option value="EEK">Estonian Kroon (EEK)</option>
|
|
40
|
+
<option value="EGP">Egyptian Pound (EGP)</option>
|
|
41
|
+
<option value="EUR">Euro (€)</option>
|
|
42
|
+
<option value="FJD">Fijian Dollar (FJD)</option>
|
|
43
|
+
<option value="GBP">British Pound Sterling (£)</option>
|
|
44
|
+
<option value="HKD">Hong Kong Dollar (HK$)</option>
|
|
45
|
+
<option value="HNL">Honduran Lempira (HNL)</option>
|
|
46
|
+
<option value="HRK">Croatian Kuna (HRK)</option>
|
|
47
|
+
<option value="HUF">Hungarian Forint (HUF)</option>
|
|
48
|
+
<option value="IDR">Indonesian Rupiah (IDR)</option>
|
|
49
|
+
<option value="ILS">Israeli New Sheqel (₪)</option>
|
|
50
|
+
<option value="INR">Indian Rupee (Rs.)</option>
|
|
51
|
+
<option value="JMD">Jamaican Dollar (JMD)</option>
|
|
52
|
+
<option value="JOD">Jordanian Dinar (JOD)</option>
|
|
53
|
+
<option value="JPY">Japanese Yen (¥)</option>
|
|
54
|
+
<option value="KES">Kenyan Shilling (KES)</option>
|
|
55
|
+
<option value="KRW">South Korean Won (₩)</option>
|
|
56
|
+
<option value="KWD">Kuwaiti Dinar (KWD)</option>
|
|
57
|
+
<option value="KYD">Cayman Islands Dollar (KYD)</option>
|
|
58
|
+
<option value="KZT">Kazakhstani Tenge (KZT)</option>
|
|
59
|
+
<option value="LBP">Lebanese Pound (LBP)</option>
|
|
60
|
+
<option value="LKR">Sri Lankan Rupee (LKR)</option>
|
|
61
|
+
<option value="LTL">Lithuanian Litas (LTL)</option>
|
|
62
|
+
<option value="LVL">Latvian Lats (LVL)</option>
|
|
63
|
+
<option value="MAD">Moroccan Dirham (MAD)</option>
|
|
64
|
+
<option value="MDL">Moldovan Leu (MDL)</option>
|
|
65
|
+
<option value="MKD">Macedonian Denar (MKD)</option>
|
|
66
|
+
<option value="MUR">Mauritian Rupee (MUR)</option>
|
|
67
|
+
<option value="MVR">Maldivian Rufiyaa (MVR)</option>
|
|
68
|
+
<option value="MXN">Mexican Peso (MX$)</option>
|
|
69
|
+
<option value="MYR">Malaysian Ringgit (MYR)</option>
|
|
70
|
+
<option value="NAD">Namibian Dollar (NAD)</option>
|
|
71
|
+
<option value="NGN">Nigerian Naira (NGN)</option>
|
|
72
|
+
<option value="NIO">Nicaraguan Córdoba (NIO)</option>
|
|
73
|
+
<option value="NOK">Norwegian Krone (NOK)</option>
|
|
74
|
+
<option value="NPR">Nepalese Rupee (NPR)</option>
|
|
75
|
+
<option value="NZD">New Zealand Dollar (NZ$)</option>
|
|
76
|
+
<option value="OMR">Omani Rial (OMR)</option>
|
|
77
|
+
<option value="PEN">Peruvian Nuevo Sol (PEN)</option>
|
|
78
|
+
<option value="PGK">Papua New Guinean Kina (PGK)</option>
|
|
79
|
+
<option value="PHP">Philippine Peso (Php)</option>
|
|
80
|
+
<option value="PKR">Pakistani Rupee (PKR)</option>
|
|
81
|
+
<option value="PLN">Polish Zloty (PLN)</option>
|
|
82
|
+
<option value="PYG">Paraguayan Guarani (PYG)</option>
|
|
83
|
+
<option value="QAR">Qatari Rial (QAR)</option>
|
|
84
|
+
<option value="RON">Romanian Leu (RON)</option>
|
|
85
|
+
<option value="RSD">Serbian Dinar (RSD)</option>
|
|
86
|
+
<option value="RUB">Russian Ruble (RUB)</option>
|
|
87
|
+
<option value="SAR">Saudi Riyal (SAR)</option>
|
|
88
|
+
<option value="SCR">Seychellois Rupee (SCR)</option>
|
|
89
|
+
<option value="SEK">Swedish Krona (SEK)</option>
|
|
90
|
+
<option value="SGD">Singapore Dollar (SGD)</option>
|
|
91
|
+
<option value="SKK">Slovak Koruna (SKK)</option>
|
|
92
|
+
<option value="SLL">Sierra Leonean Leone (SLL)</option>
|
|
93
|
+
<option value="SVC">Salvadoran Colón (SVC)</option>
|
|
94
|
+
<option value="THB">Thai Baht (฿)</option>
|
|
95
|
+
<option value="TND">Tunisian Dinar (TND)</option>
|
|
96
|
+
<option value="TRY">Turkish Lira (TRY)</option>
|
|
97
|
+
<option value="TTD">Trinidad and Tobago Dollar (TTD)</option>
|
|
98
|
+
<option value="TWD">New Taiwan Dollar (NT$)</option>
|
|
99
|
+
<option value="TZS">Tanzanian Shilling (TZS)</option>
|
|
100
|
+
<option value="UAH">Ukrainian Hryvnia (UAH)</option>
|
|
101
|
+
<option value="UGX">Ugandan Shilling (UGX)</option>
|
|
102
|
+
<option value="USD">US Dollar ($)</option>
|
|
103
|
+
<option value="UYU">Uruguayan Peso (UYU)</option>
|
|
104
|
+
<option value="UZS">Uzbekistan Som (UZS)</option>
|
|
105
|
+
<option value="VEF">Venezuelan Bolívar (VEF)</option>
|
|
106
|
+
<option value="VND">Vietnamese Dong (₫)</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="ALL">
|
|
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 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="XOF">CFA Franc BCEAO (CFA)</option>
|
|
207
|
+
<option value="YER">Yemeni Rial (YER)</option>
|
|
208
|
+
<option value="ZAR">South African Rand (ZAR)</option>
|
|
209
|
+
<option value="ZMK">Zambian Kwacha (1968-2012) (ZMK)</option>
|
|
210
|
+
<option value="ZMW">Zambian Kwacha (ZMW)</option>
|
|
211
|
+
</select>
|
|
212
|
+
</div>
|
|
213
|
+
|
|
214
|
+
<div id=currency_converter_result>
|
|
215
|
+
<input type=submit value="Convert">
|
|
216
|
+
</div>
|
|
217
|
+
<input type=hidden name=meta value=ei=SZH6UaC2IpqKlwPecg>
|
|
218
|
+
</form>
|
|
219
|
+
</body>
|
|
220
|
+
</div>
|
|
221
|
+
</html>
|
data/spec/spec_helper.rb
CHANGED
|
@@ -12,3 +12,17 @@ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
|
|
12
12
|
RSpec.configure do |config|
|
|
13
13
|
|
|
14
14
|
end
|
|
15
|
+
|
|
16
|
+
def stub_converted_val_response(val)
|
|
17
|
+
File.open(File.expand_path(File.dirname(__FILE__) + '/helper/response.html'), 'r') do |f|
|
|
18
|
+
stub_request(:get, "http://www.google.com/finance/converter?a=1&from=GBP&to=BRL").
|
|
19
|
+
to_return(:body => f.read.gsub("<converted_val>", val.to_s))
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def stub_error_response
|
|
24
|
+
File.open(File.expand_path(File.dirname(__FILE__) + '/helper/error.html'), 'r') do |f|
|
|
25
|
+
stub_request(:get, "http://www.google.com/finance/converter?a=1&from=BRL&to=ALL").
|
|
26
|
+
to_return(:body => f.read)
|
|
27
|
+
end
|
|
28
|
+
end
|
metadata
CHANGED
|
@@ -1,96 +1,71 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: google_finance_currency_converter
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.3.1
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Pedro Menezes
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date: 2013-
|
|
11
|
+
date: 2013-08-01 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: rspec
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
|
-
- -
|
|
17
|
+
- - '>='
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
|
-
version:
|
|
19
|
+
version: '0'
|
|
22
20
|
type: :development
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
|
-
- -
|
|
24
|
+
- - '>='
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
|
-
version:
|
|
26
|
+
version: '0'
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
|
31
28
|
name: bundler
|
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
30
|
requirements:
|
|
35
|
-
- -
|
|
31
|
+
- - '>='
|
|
36
32
|
- !ruby/object:Gem::Version
|
|
37
|
-
version:
|
|
33
|
+
version: '0'
|
|
38
34
|
type: :development
|
|
39
35
|
prerelease: false
|
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
37
|
requirements:
|
|
43
|
-
- -
|
|
38
|
+
- - '>='
|
|
44
39
|
- !ruby/object:Gem::Version
|
|
45
|
-
version:
|
|
40
|
+
version: '0'
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
|
47
42
|
name: jeweler
|
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
44
|
requirements:
|
|
51
|
-
- -
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: 1.6.4
|
|
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.6.4
|
|
62
|
-
- !ruby/object:Gem::Dependency
|
|
63
|
-
name: rcov
|
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
|
-
requirements:
|
|
67
|
-
- - ! '>='
|
|
45
|
+
- - '>='
|
|
68
46
|
- !ruby/object:Gem::Version
|
|
69
47
|
version: '0'
|
|
70
48
|
type: :development
|
|
71
49
|
prerelease: false
|
|
72
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
51
|
requirements:
|
|
75
|
-
- -
|
|
52
|
+
- - '>='
|
|
76
53
|
- !ruby/object:Gem::Version
|
|
77
54
|
version: '0'
|
|
78
55
|
- !ruby/object:Gem::Dependency
|
|
79
56
|
name: webmock
|
|
80
57
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
58
|
requirements:
|
|
83
|
-
- - '
|
|
59
|
+
- - '>='
|
|
84
60
|
- !ruby/object:Gem::Version
|
|
85
|
-
version:
|
|
61
|
+
version: '0'
|
|
86
62
|
type: :development
|
|
87
63
|
prerelease: false
|
|
88
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
-
none: false
|
|
90
65
|
requirements:
|
|
91
|
-
- - '
|
|
66
|
+
- - '>='
|
|
92
67
|
- !ruby/object:Gem::Version
|
|
93
|
-
version:
|
|
68
|
+
version: '0'
|
|
94
69
|
description: a wrapper for google finance currency converter
|
|
95
70
|
email: pedrojudo@gmail.com
|
|
96
71
|
executables: []
|
|
@@ -110,34 +85,31 @@ files:
|
|
|
110
85
|
- google_finance_currency_converter.gemspec
|
|
111
86
|
- lib/google_finance_currency_converter.rb
|
|
112
87
|
- spec/google_finance_currency_converter_spec.rb
|
|
88
|
+
- spec/helper/error.html
|
|
113
89
|
- spec/helper/response.html
|
|
114
90
|
- spec/spec_helper.rb
|
|
115
91
|
homepage: http://github.com/pedromenezes/google_finance_currency_converter
|
|
116
92
|
licenses:
|
|
117
93
|
- MIT
|
|
94
|
+
metadata: {}
|
|
118
95
|
post_install_message:
|
|
119
96
|
rdoc_options: []
|
|
120
97
|
require_paths:
|
|
121
98
|
- lib
|
|
122
99
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
123
|
-
none: false
|
|
124
100
|
requirements:
|
|
125
|
-
- -
|
|
101
|
+
- - '>='
|
|
126
102
|
- !ruby/object:Gem::Version
|
|
127
103
|
version: '0'
|
|
128
|
-
segments:
|
|
129
|
-
- 0
|
|
130
|
-
hash: -803970924464275287
|
|
131
104
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
|
-
none: false
|
|
133
105
|
requirements:
|
|
134
|
-
- -
|
|
106
|
+
- - '>='
|
|
135
107
|
- !ruby/object:Gem::Version
|
|
136
108
|
version: '0'
|
|
137
109
|
requirements: []
|
|
138
110
|
rubyforge_project:
|
|
139
|
-
rubygems_version:
|
|
111
|
+
rubygems_version: 2.0.5
|
|
140
112
|
signing_key:
|
|
141
|
-
specification_version:
|
|
113
|
+
specification_version: 4
|
|
142
114
|
summary: a wrapper for google finance currency converter
|
|
143
115
|
test_files: []
|