money-historical-bank 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
1
  source :rubygems
2
2
 
3
3
  gemspec
4
+
5
+ gem 'rake'
data/README.markdown CHANGED
@@ -1,4 +1,5 @@
1
1
  # Money Historical Bank
2
+ [![Build Status](https://secure.travis-ci.org/coutud/money-historical-bank.png)](http://travis-ci.org/coutud/money-historical-bank)
2
3
 
3
4
  A gem that add a `Money::Bank` able to handle historical rates, and infer rates from limited rates.
4
5
 
@@ -256,8 +256,10 @@ class Money
256
256
  #
257
257
  # @return [Numeric]
258
258
  def internal_set_rate(date, from, to, rate)
259
- date_rates = @rates[date] ||= {}
260
- date_rates[rate_key_for(from, to)] = rate
259
+ if Money::Currency.find(from) && Money::Currency.find(to)
260
+ date_rates = @rates[date] ||= {}
261
+ date_rates[rate_key_for(from, to)] = rate
262
+ end
261
263
  end
262
264
  end
263
265
  end
@@ -8,7 +8,7 @@ class Money
8
8
  module Bank
9
9
  module OpenExchangeRatesLoader
10
10
  HIST_URL = 'https://raw.github.com/currencybot/open-exchange-rates/master/historical/'
11
- OER_URL = 'http://openexchangerates.org/latest.php'
11
+ OER_URL = 'https://raw.github.com/currencybot/open-exchange-rates/master/latest.json'
12
12
 
13
13
  # Tries to load data from OpenExchangeRates for the given rate.
14
14
  # Won't do anything if there's no data available for that date
@@ -21,6 +21,12 @@ describe Money::Bank::HistoricalBank do
21
21
  @bank.get_rate(d2, "GBP", "USD").must_equal 1.456
22
22
  end
23
23
 
24
+ it "shouldn't throw an error when internal_set_rate is called with a non existing currency" do
25
+ d1 = Date.new(2011,1,1)
26
+ @bank.set_rate(d1, "BLA", "ZZZ", 1.01)
27
+ @bank.rates.must_be_empty
28
+ end
29
+
24
30
  it "should return the correct rate interpolated from existing pairs when asked" do
25
31
  d1 = Date.new(2001,1,1)
26
32
  @bank.set_rate(d1, "USD", "EUR", 1.234)
metadata CHANGED
@@ -1,105 +1,100 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: money-historical-bank
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
4
5
  prerelease:
5
- version: 0.0.1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Damien Couture
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-12-04 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-01-05 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
16
15
  name: yajl-ruby
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: &70115643698760 !ruby/object:Gem::Requirement
19
17
  none: false
20
- requirements:
21
- - - ">="
22
- - !ruby/object:Gem::Version
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
23
21
  version: 0.8.3
24
22
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: money
28
23
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: *70115643698760
25
+ - !ruby/object:Gem::Dependency
26
+ name: money
27
+ requirement: &70115643698120 !ruby/object:Gem::Requirement
30
28
  none: false
31
- requirements:
32
- - - ">="
33
- - !ruby/object:Gem::Version
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
34
32
  version: 3.7.1
35
33
  type: :runtime
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
38
- name: minitest
39
34
  prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
35
+ version_requirements: *70115643698120
36
+ - !ruby/object:Gem::Dependency
37
+ name: minitest
38
+ requirement: &70115643697640 !ruby/object:Gem::Requirement
41
39
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- version: "2.0"
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '2.0'
46
44
  type: :development
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: rr
50
45
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
46
+ version_requirements: *70115643697640
47
+ - !ruby/object:Gem::Dependency
48
+ name: rr
49
+ requirement: &70115643697080 !ruby/object:Gem::Requirement
52
50
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
51
+ requirements:
52
+ - - ! '>='
53
+ - !ruby/object:Gem::Version
56
54
  version: 1.0.4
57
55
  type: :development
58
- version_requirements: *id004
59
- description: A gem that provides rates for the money gem. Able to handle history (rates varying in time), and auto download rates from open-exchange-rates. Highly inspired by money-open-exchange-rates gem.
56
+ prerelease: false
57
+ version_requirements: *70115643697080
58
+ description: A gem that provides rates for the money gem. Able to handle history (rates
59
+ varying in time), and auto download rates from open-exchange-rates. Highly inspired
60
+ by money-open-exchange-rates gem.
60
61
  email: wam@atwam.com
61
62
  executables: []
62
-
63
63
  extensions: []
64
-
65
- extra_rdoc_files:
64
+ extra_rdoc_files:
66
65
  - README.markdown
67
- files:
66
+ files:
68
67
  - LICENSE
69
68
  - README.markdown
70
69
  - Gemfile
71
- - lib/money/bank/open_exchange_rates_loader.rb
72
70
  - lib/money/bank/historical_bank.rb
73
- - test/test_helper.rb
74
- - test/test.json
71
+ - lib/money/bank/open_exchange_rates_loader.rb
75
72
  - test/historical_bank_test.rb
73
+ - test/test.json
74
+ - test/test_helper.rb
76
75
  homepage: http://github.com/coutud/money-historical-bank
77
76
  licenses: []
78
-
79
77
  post_install_message:
80
78
  rdoc_options: []
81
-
82
- require_paths:
79
+ require_paths:
83
80
  - lib
84
- required_ruby_version: !ruby/object:Gem::Requirement
81
+ required_ruby_version: !ruby/object:Gem::Requirement
85
82
  none: false
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: "0"
90
- required_rubygems_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ! '>='
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ required_rubygems_version: !ruby/object:Gem::Requirement
91
88
  none: false
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: "0"
89
+ requirements:
90
+ - - ! '>='
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
96
93
  requirements: []
97
-
98
94
  rubyforge_project:
99
- rubygems_version: 1.8.11
95
+ rubygems_version: 1.8.10
100
96
  signing_key:
101
97
  specification_version: 3
102
98
  summary: A gem that offers exchange rates varying in time.
103
- test_files:
99
+ test_files:
104
100
  - test/historical_bank_test.rb
105
- has_rdoc: