exchangerate 0.1.0 → 0.1.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.
- data/Manifest +3 -1
- data/README.rdoc +14 -10
- data/Rakefile +3 -3
- data/exchangerate.gemspec +6 -5
- data/lib/exchangerate.rb +6 -3
- data/test/exchangerate_test.rb +25 -0
- data/test/test_helper.rb +6 -0
- metadata +11 -8
data/Manifest
CHANGED
data/README.rdoc
CHANGED
@@ -1,21 +1,25 @@
|
|
1
|
-
=
|
1
|
+
= ExchangeRate
|
2
2
|
|
3
3
|
== Description
|
4
|
-
This is a Ruby interface into the exchangerate-api service.
|
4
|
+
This is a Ruby interface into the exchangerate-api service. http://www.exchangerate-api.com/ claims to serv accurate currency exchange rates from the European Central Reserve Bank as they are released.
|
5
5
|
|
6
6
|
== Installation
|
7
7
|
|
8
|
-
gem install
|
8
|
+
gem install exchangerate
|
9
9
|
|
10
10
|
== Usage
|
11
11
|
|
12
12
|
Before you use this library please get the api key from http://www.exchangerate-api.com/api-key
|
13
13
|
|
14
|
-
require 'rubygems'
|
15
|
-
require 'exchangerate'
|
16
|
-
|
17
|
-
|
18
|
-
er.
|
19
|
-
|
20
|
-
|
14
|
+
require 'rubygems'
|
15
|
+
require 'exchangerate'
|
16
|
+
|
17
|
+
#To convert 300 USD to Indian Rupee
|
18
|
+
er=ExchangeRate.new("my-api-key")
|
19
|
+
er.convert("USD","INR","300.00")
|
20
|
+
=>"14047.51"
|
21
|
+
|
22
|
+
#To convert USD to EUR
|
23
|
+
er.convert("USD","INR","300.00")
|
24
|
+
=>"243.23"
|
21
25
|
|
data/Rakefile
CHANGED
@@ -2,9 +2,9 @@ require 'rubygems'
|
|
2
2
|
require 'rake'
|
3
3
|
require 'echoe'
|
4
4
|
|
5
|
-
Echoe.new('exchangerate', '0.1.
|
6
|
-
p.description = "A gem to convert currencies with ease
|
7
|
-
p.url = "http://github.com/giridhar/
|
5
|
+
Echoe.new('exchangerate', '0.1.1') do |p|
|
6
|
+
p.description = "A gem to convert currencies with ease and at real time ."
|
7
|
+
p.url = "http://github.com/giridhar/exchangerate"
|
8
8
|
p.author = "Giridhar Bandi"
|
9
9
|
p.email = "giridhar dot bandi at gmail.com"
|
10
10
|
p.ignore_pattern = ["tmp/*", "script/*"]
|
data/exchangerate.gemspec
CHANGED
@@ -2,21 +2,22 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{exchangerate}
|
5
|
-
s.version = "0.1.
|
5
|
+
s.version = "0.1.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Giridhar Bandi"]
|
9
9
|
s.date = %q{2010-05-20}
|
10
|
-
s.description = %q{A gem to convert currencies with ease
|
10
|
+
s.description = %q{A gem to convert currencies with ease and at real time .}
|
11
11
|
s.email = %q{giridhar dot bandi at gmail.com}
|
12
12
|
s.extra_rdoc_files = ["README.rdoc", "lib/exchangerate.rb"]
|
13
|
-
s.files = ["MIT-LICENSE", "
|
14
|
-
s.homepage = %q{http://github.com/giridhar/
|
13
|
+
s.files = ["MIT-LICENSE", "README.rdoc", "Rakefile", "exchangerate.gemspec", "lib/exchangerate.rb", "test/exchangerate_test.rb", "test/test_helper.rb", "Manifest"]
|
14
|
+
s.homepage = %q{http://github.com/giridhar/exchangerate}
|
15
15
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Exchangerate", "--main", "README.rdoc"]
|
16
16
|
s.require_paths = ["lib"]
|
17
17
|
s.rubyforge_project = %q{exchangerate}
|
18
18
|
s.rubygems_version = %q{1.3.7}
|
19
|
-
s.summary = %q{A gem to convert currencies with ease
|
19
|
+
s.summary = %q{A gem to convert currencies with ease and at real time .}
|
20
|
+
s.test_files = ["test/exchangerate_test.rb", "test/test_helper.rb"]
|
20
21
|
|
21
22
|
if s.respond_to? :specification_version then
|
22
23
|
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
data/lib/exchangerate.rb
CHANGED
@@ -11,15 +11,18 @@ class ExchangeRate
|
|
11
11
|
@api_key = api_key
|
12
12
|
end
|
13
13
|
|
14
|
+
#converts
|
14
15
|
def convert(from_curr,to_curr,amount)
|
15
16
|
begin
|
16
|
-
raise UnsupportedCurrencyException
|
17
|
+
raise UnsupportedCurrencyException if !SUPPORTED_CODES.include?(from_curr) || !SUPPORTED_CODES.include?(to_curr)
|
17
18
|
http = Net::HTTP.new(HOST, 80)
|
18
19
|
url = "/"+from_curr+"/"+to_curr+"/"+amount.to_s+"?k=#{@api_key}"
|
19
20
|
response = http.get(url)
|
20
21
|
return response.body
|
21
|
-
rescue => e
|
22
|
-
|
22
|
+
rescue UnsupportedCurrencyException => e
|
23
|
+
raise UnsupportedCurrencyException
|
24
|
+
rescue => err_msg
|
25
|
+
puts #{err_msg}
|
23
26
|
end
|
24
27
|
end
|
25
28
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
class ExchangeRateTest < Test::Unit::TestCase
|
3
|
+
def test_supported_covertion
|
4
|
+
setup_net_http
|
5
|
+
er=ExchangeRate.new("my-api-key")
|
6
|
+
amt = er.convert("USD","INR","300")
|
7
|
+
assert_not_nil amt
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_unsupported_covertion
|
11
|
+
er=ExchangeRate.new("my-api-key")
|
12
|
+
assert_raises (UnsupportedCurrencyException) do
|
13
|
+
er.convert("unknowcurrency","INR","300")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def setup_net_http
|
18
|
+
response = {'code' => '200','readbody'=>'true'}
|
19
|
+
response.stubs(:body).returns('2000')
|
20
|
+
server = mock()
|
21
|
+
server.stubs(:get).returns(response)
|
22
|
+
Net::HTTP.stubs(:new).returns(server)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
data/test/test_helper.rb
ADDED
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 1
|
9
|
+
version: 0.1.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Giridhar Bandi
|
@@ -18,7 +18,7 @@ date: 2010-05-20 00:00:00 +05:30
|
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|
21
|
-
description: A gem to convert currencies with ease
|
21
|
+
description: A gem to convert currencies with ease and at real time .
|
22
22
|
email: giridhar dot bandi at gmail.com
|
23
23
|
executables: []
|
24
24
|
|
@@ -29,13 +29,15 @@ extra_rdoc_files:
|
|
29
29
|
- lib/exchangerate.rb
|
30
30
|
files:
|
31
31
|
- MIT-LICENSE
|
32
|
-
- Manifest
|
33
32
|
- README.rdoc
|
34
33
|
- Rakefile
|
35
34
|
- exchangerate.gemspec
|
36
35
|
- lib/exchangerate.rb
|
36
|
+
- test/exchangerate_test.rb
|
37
|
+
- test/test_helper.rb
|
38
|
+
- Manifest
|
37
39
|
has_rdoc: true
|
38
|
-
homepage: http://github.com/giridhar/
|
40
|
+
homepage: http://github.com/giridhar/exchangerate
|
39
41
|
licenses: []
|
40
42
|
|
41
43
|
post_install_message:
|
@@ -71,6 +73,7 @@ rubyforge_project: exchangerate
|
|
71
73
|
rubygems_version: 1.3.7
|
72
74
|
signing_key:
|
73
75
|
specification_version: 3
|
74
|
-
summary: A gem to convert currencies with ease
|
75
|
-
test_files:
|
76
|
-
|
76
|
+
summary: A gem to convert currencies with ease and at real time .
|
77
|
+
test_files:
|
78
|
+
- test/exchangerate_test.rb
|
79
|
+
- test/test_helper.rb
|