yahoofx 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +2 -0
- data/lib/yahoofx/pair.rb +8 -1
- data/test/unit/yahoofx_test.rb +6 -1
- data/yahoofx.gemspec +1 -1
- metadata +2 -2
data/README.md
CHANGED
data/lib/yahoofx/pair.rb
CHANGED
@@ -5,14 +5,21 @@ module Yahoofx
|
|
5
5
|
# First and second currency code. The parameters could be "USD" and "EUR" for instance
|
6
6
|
def initialize(first, second)
|
7
7
|
@first, @second = first.to_s, second.to_s
|
8
|
-
raise "Invalid currency code provided" unless @first
|
8
|
+
raise "Invalid currency code provided" unless valid_currency_code?(@first) &&
|
9
|
+
valid_currency_code?(@second)
|
9
10
|
end
|
10
11
|
|
11
12
|
def bid
|
12
13
|
request_feed.scan(bid_regexp).each { |results| return results.first.to_f }
|
14
|
+
nil
|
13
15
|
end
|
14
16
|
|
15
17
|
protected
|
18
|
+
def valid_currency_code?(currency_code)
|
19
|
+
return true if currency_code =~ /^[a-zA-Z]{3}$/
|
20
|
+
false
|
21
|
+
end
|
22
|
+
|
16
23
|
def url_for_currency_pair
|
17
24
|
URI("http://finance.yahoo.com/q?s=#{@first}#{@second}%3Dx&ql=1")
|
18
25
|
end
|
data/test/unit/yahoofx_test.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require_relative "../test_helper"
|
2
|
-
#p YahooFx::Pair.new(:eur, :usd).bid
|
3
2
|
|
4
3
|
describe Yahoofx do
|
5
4
|
before do
|
@@ -13,4 +12,10 @@ describe Yahoofx do
|
|
13
12
|
assert_equal 1.2967, Yahoofx::Pair.new(:eur, :usd).bid
|
14
13
|
end
|
15
14
|
|
15
|
+
describe "when providing a currency code that's not 3 letters" do
|
16
|
+
it "should raise an exception" do
|
17
|
+
proc {Yahoofx::Pair.new(:usd, :foooo)}.must_raise(RuntimeError)
|
18
|
+
proc {Yahoofx::Pair.new(:us1, :eur)}.must_raise(RuntimeError)
|
19
|
+
end
|
20
|
+
end
|
16
21
|
end
|
data/yahoofx.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'yahoofx'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.2'
|
4
4
|
s.executables << 'yahoofx'
|
5
5
|
s.summary = "Gets currency rates from Yahoo Finance"
|
6
6
|
s.description = "The gem scrapes Yahoo Finance and returns foreign exchange rates. Also comes with a shell command."
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yahoofx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
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: 2012-12-
|
12
|
+
date: 2012-12-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: webmock
|