yahoofx 0.0.1 → 0.0.2
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/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
|