money-open-exchange-rates 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.
@@ -23,7 +23,7 @@ class Money
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def save_rates
|
26
|
-
raise InvalidCache unless cache
|
26
|
+
raise InvalidCache unless cache && File.exist?(cache)
|
27
27
|
open(cache, 'w').write(open(OER_URL).read)
|
28
28
|
end
|
29
29
|
|
@@ -43,8 +43,16 @@ class Money
|
|
43
43
|
|
44
44
|
protected
|
45
45
|
|
46
|
+
def find_rates_source
|
47
|
+
if !!cache && File.exist?(cache)
|
48
|
+
@rates_source = cache
|
49
|
+
else
|
50
|
+
OER_URL
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
46
54
|
def exchange_rates
|
47
|
-
@rates_source =
|
55
|
+
@rates_source = find_rates_source
|
48
56
|
@doc = Yajl::Parser.parse(open(rates_source).read)
|
49
57
|
@oer_rates = @doc['rates']
|
50
58
|
@doc['rates']
|
@@ -73,4 +73,22 @@ describe Money::Bank::OpenExchangeRatesBank do
|
|
73
73
|
end
|
74
74
|
end
|
75
75
|
|
76
|
+
describe 'no valid file for cache' do
|
77
|
+
include RR::Adapters::TestUnit
|
78
|
+
before do
|
79
|
+
@bank = Money::Bank::OpenExchangeRatesBank.new
|
80
|
+
@bank.cache = "space_dir#{rand(999999999)}/out_space_file.json"
|
81
|
+
end
|
82
|
+
|
83
|
+
it 'should get from url' do
|
84
|
+
stub(OpenURI::OpenRead).open(Money::Bank::OpenExchangeRatesBank::OER_URL) { File.read @cache_path }
|
85
|
+
@bank.update_rates
|
86
|
+
@bank.rates_source.must_equal Money::Bank::OpenExchangeRatesBank::OER_URL
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'should raise an error if invalid path is given to save_rates' do
|
90
|
+
proc { @bank.save_rates }.must_raise Money::Bank::InvalidCache
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
76
94
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: money-open-exchange-rates
|
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,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-10-
|
12
|
+
date: 2011-10-19 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: yajl-ruby
|
16
|
-
requirement: &
|
16
|
+
requirement: &9917460 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.8.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *9917460
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: money
|
27
|
-
requirement: &
|
27
|
+
requirement: &9916040 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 3.7.1
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *9916040
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: minitest
|
38
|
-
requirement: &
|
38
|
+
requirement: &9915020 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '2.0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *9915020
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rr
|
49
|
-
requirement: &
|
49
|
+
requirement: &9913600 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: 1.0.4
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *9913600
|
58
58
|
description: A gem that calculates the exchange rate using published rates from open-exchange-rates.
|
59
59
|
Compatible with the money gem.
|
60
60
|
email: laurent@spkdev.net
|