google_currency 3.1.0 → 3.2.0

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 15465e69da6f84b9957b6cd166fa5623f8ddbf64
4
+ data.tar.gz: 5dccac4429dc84a2ae1615d6cb43a45120f4445c
5
+ SHA512:
6
+ metadata.gz: c1b9bdf4d77d9e35b67d45b34f5c330dfad9c8737e9e078425b998cb8960569e1cdc7179d50d0d94d608e35e80266fa92bdd9bb8c4d6c48c2e4ec8928d0d17fa
7
+ data.tar.gz: 39b45cf9d40d71e436a0d2444cf68b748567743a2a74355a5af4f4a8bf773ead3bccd46ebe44597e458307a88945ead011f535808a682d364d43cff33be24192
data/README.md CHANGED
@@ -21,8 +21,12 @@ Usage
21
21
  Money.default_bank = Money::Bank::GoogleCurrency.new
22
22
 
23
23
  # create a new money object, and use the standard #exchange_to method
24
- n = 1.to_money(:USD)
25
- n.exchange_to(:EUR)
24
+ money = Money.new(1_00, "USD") # amount is in cents
25
+ money.exchange_to(:EUR)
26
+
27
+ # or install the 'monetize' gem
28
+ money = 1.to_money(:USD)
29
+ money.exchange_to(:EUR)
26
30
 
27
31
  An `UnknownRate` will be thrown if `#exchange_to` is called with a `Currency`
28
32
  that `Money` knows, but Google does not.
@@ -1,20 +1,19 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "google_currency"
3
- s.version = "3.1.0"
3
+ s.version = "3.2.0"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.authors = ["Shane Emmons"]
6
6
  s.email = ["semmons99@gmail.com"]
7
7
  s.homepage = "http://rubymoney.github.com/google_currency"
8
8
  s.summary = "Access the Google Currency exchange rate data."
9
9
  s.description = "GoogleCurrency extends Money::Bank::Base and gives you access to the current Google Currency exchange rates."
10
+ s.license = 'MIT'
10
11
 
11
- s.required_rubygems_version = ">= 1.3.6"
12
-
13
- s.add_development_dependency "rspec", ">= 2.0.0"
12
+ s.add_development_dependency "rspec", ">= 3.0.0"
14
13
  s.add_development_dependency "yard", ">= 0.5.8"
15
14
  s.add_development_dependency "ffi"
16
15
 
17
- s.add_dependency "money", "~> 6.0"
16
+ s.add_dependency "money", "~> 6.5.0"
18
17
 
19
18
  s.files = Dir.glob("{lib,spec}/**/*")
20
19
  s.files += %w(LICENSE README.md CHANGELOG.md AUTHORS)
@@ -10,7 +10,7 @@ describe "GoogleCurrency" do
10
10
 
11
11
  it "should accept a ttl_in_seconds option" do
12
12
  Money::Bank::GoogleCurrency.ttl_in_seconds = 86400
13
- Money::Bank::GoogleCurrency.ttl_in_seconds.should eql(86400)
13
+ expect(Money::Bank::GoogleCurrency.ttl_in_seconds).to eq(86400)
14
14
  end
15
15
 
16
16
  describe ".refresh_rates_expiration!" do
@@ -19,56 +19,56 @@ describe "GoogleCurrency" do
19
19
  new_time = Time.now
20
20
  Timecop.freeze(new_time)
21
21
  Money::Bank::GoogleCurrency.refresh_rates_expiration!
22
- Money::Bank::GoogleCurrency.rates_expiration.should eql(new_time + 86400)
22
+ expect(Money::Bank::GoogleCurrency.rates_expiration).to eq(new_time + 86400)
23
23
  end
24
24
  end
25
25
 
26
26
  describe "#get_rate" do
27
27
  it "should try to expire the rates" do
28
- @bank.should_receive(:expire_rates).once
28
+ expect(@bank).to receive(:expire_rates).once
29
29
  @bank.get_rate('USD', 'USD')
30
30
  end
31
31
 
32
32
  it "should use #fetch_rate when rate is unknown" do
33
- @bank.should_receive(:fetch_rate).once
33
+ expect(@bank).to receive(:fetch_rate).once
34
34
  @bank.get_rate('USD', 'USD')
35
35
  end
36
36
 
37
37
  it "should not use #fetch_rate when rate is known" do
38
38
  @bank.get_rate('USD', 'USD')
39
- @bank.should_not_receive(:fetch_rate)
39
+ expect(@bank).to_not receive(:fetch_rate)
40
40
  @bank.get_rate('USD', 'USD')
41
41
  end
42
42
 
43
43
  it "should return the correct rate" do
44
- @bank.get_rate('USD', 'USD').should == 1.0
44
+ expect(@bank.get_rate('USD', 'USD')).to eq(1.0)
45
45
  end
46
46
 
47
47
  it "should store the rate for faster retreival" do
48
48
  @bank.get_rate('USD', 'EUR')
49
- @bank.rates.should include('USD_TO_EUR')
49
+ expect(@bank.rates).to include('USD_TO_EUR')
50
50
  end
51
51
 
52
52
  context "handles" do
53
53
  before :each do
54
54
  @uri = double('uri')
55
- @bank.stub(:build_uri){ |from,to| @uri }
55
+ allow(@bank).to receive(:build_uri){ |from,to| @uri }
56
56
  end
57
57
 
58
58
  it "should return rate when it is known" do
59
- @uri.stub(:read) { load_rate_http_response("sgd_to_usd") }
60
- @bank.get_rate('SGD', 'USD').should == BigDecimal("0.8066")
59
+ allow(@uri).to receive(:read) { load_rate_http_response("sgd_to_usd") }
60
+ expect(@bank.get_rate('SGD', 'USD')).to eq(BigDecimal("0.8066"))
61
61
  end
62
62
 
63
63
  it "should raise UnknownRate error when rate is not known" do
64
- @uri.stub(:read) { load_rate_http_response("vnd_to_usd") }
64
+ allow(@uri).to receive(:read) { load_rate_http_response("vnd_to_usd") }
65
65
  expect {
66
66
  @bank.get_rate('VND', 'USD')
67
67
  }.to raise_error(Money::Bank::UnknownRate)
68
68
  end
69
69
 
70
70
  it "should raise GoogleCurrencyFetchError there is an unknown issue with extracting the exchange rate" do
71
- @uri.stub(:read) { load_rate_http_response("error") }
71
+ allow(@uri).to receive(:read) { load_rate_http_response("error") }
72
72
  expect {
73
73
  @bank.get_rate('VND', 'USD')
74
74
  }.to raise_error(Money::Bank::GoogleCurrencyFetchError)
@@ -80,7 +80,7 @@ describe "GoogleCurrency" do
80
80
  it "should empty @rates" do
81
81
  @bank.get_rate('USD', 'EUR')
82
82
  @bank.flush_rates
83
- @bank.rates.should == {}
83
+ expect(@bank.rates).to eq({})
84
84
  end
85
85
  end
86
86
 
@@ -89,8 +89,8 @@ describe "GoogleCurrency" do
89
89
  @bank.get_rate('USD', 'EUR')
90
90
  @bank.get_rate('USD', 'JPY')
91
91
  @bank.flush_rate('USD', 'EUR')
92
- @bank.rates.should include('USD_TO_JPY')
93
- @bank.rates.should_not include('USD_TO_EUR')
92
+ expect(@bank.rates).to include('USD_TO_JPY')
93
+ expect(@bank.rates).to_not include('USD_TO_EUR')
94
94
  end
95
95
  end
96
96
 
@@ -106,7 +106,7 @@ describe "GoogleCurrency" do
106
106
  end
107
107
 
108
108
  it "should flush all rates" do
109
- @bank.should_receive(:flush_rates)
109
+ expect(@bank).to receive(:flush_rates)
110
110
  @bank.expire_rates
111
111
  end
112
112
 
@@ -114,13 +114,13 @@ describe "GoogleCurrency" do
114
114
  exp_time = Time.now + 1000
115
115
 
116
116
  @bank.expire_rates
117
- Money::Bank::GoogleCurrency.rates_expiration.should eql(exp_time)
117
+ expect(Money::Bank::GoogleCurrency.rates_expiration).to eq(exp_time)
118
118
  end
119
119
  end
120
120
 
121
121
  context "when the ttl has not expired" do
122
122
  it "not should flush all rates" do
123
- @bank.should_not_receive(:flush_rates)
123
+ expect(@bank).to_not receive(:flush_rates)
124
124
  @bank.expire_rates
125
125
  end
126
126
  end
metadata CHANGED
@@ -1,80 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google_currency
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
5
- prerelease:
4
+ version: 3.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Shane Emmons
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-11-07 00:00:00.000000000 Z
11
+ date: 2015-03-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: rspec
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
- version: 2.0.0
19
+ version: 3.0.0
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
- version: 2.0.0
26
+ version: 3.0.0
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: yard
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - ">="
36
32
  - !ruby/object:Gem::Version
37
33
  version: 0.5.8
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - ">="
44
39
  - !ruby/object:Gem::Version
45
40
  version: 0.5.8
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: ffi
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ! '>='
45
+ - - ">="
52
46
  - !ruby/object:Gem::Version
53
47
  version: '0'
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ! '>='
52
+ - - ">="
60
53
  - !ruby/object:Gem::Version
61
54
  version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: money
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ~>
59
+ - - "~>"
68
60
  - !ruby/object:Gem::Version
69
- version: '6.0'
61
+ version: 6.5.0
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ~>
66
+ - - "~>"
76
67
  - !ruby/object:Gem::Version
77
- version: '6.0'
68
+ version: 6.5.0
78
69
  description: GoogleCurrency extends Money::Bank::Base and gives you access to the
79
70
  current Google Currency exchange rates.
80
71
  email:
@@ -83,44 +74,41 @@ executables: []
83
74
  extensions: []
84
75
  extra_rdoc_files: []
85
76
  files:
77
+ - ".gemtest"
78
+ - AUTHORS
79
+ - CHANGELOG.md
80
+ - LICENSE
81
+ - README.md
82
+ - Rakefile
83
+ - google_currency.gemspec
86
84
  - lib/money/bank/google_currency.rb
87
85
  - spec/google_currency_with_json_spec.rb
88
- - spec/rates/sgd_to_usd.html
89
86
  - spec/rates/error.html
87
+ - spec/rates/sgd_to_usd.html
90
88
  - spec/rates/vnd_to_usd.html
91
89
  - spec/spec_helper.rb
92
- - LICENSE
93
- - README.md
94
- - CHANGELOG.md
95
- - AUTHORS
96
- - Rakefile
97
- - .gemtest
98
- - google_currency.gemspec
99
90
  homepage: http://rubymoney.github.com/google_currency
100
- licenses: []
91
+ licenses:
92
+ - MIT
93
+ metadata: {}
101
94
  post_install_message:
102
95
  rdoc_options: []
103
96
  require_paths:
104
97
  - lib
105
98
  required_ruby_version: !ruby/object:Gem::Requirement
106
- none: false
107
99
  requirements:
108
- - - ! '>='
100
+ - - ">="
109
101
  - !ruby/object:Gem::Version
110
102
  version: '0'
111
- segments:
112
- - 0
113
- hash: 4518794046978314495
114
103
  required_rubygems_version: !ruby/object:Gem::Requirement
115
- none: false
116
104
  requirements:
117
- - - ! '>='
105
+ - - ">="
118
106
  - !ruby/object:Gem::Version
119
- version: 1.3.6
107
+ version: '0'
120
108
  requirements: []
121
109
  rubyforge_project:
122
- rubygems_version: 1.8.23
110
+ rubygems_version: 2.2.2
123
111
  signing_key:
124
- specification_version: 3
112
+ specification_version: 4
125
113
  summary: Access the Google Currency exchange rate data.
126
114
  test_files: []