redis-bank 0.0.2 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/README.md +5 -4
  2. data/lib/redis-bank.rb +7 -2
  3. metadata +76 -10
data/README.md CHANGED
@@ -1,19 +1,20 @@
1
1
  Redis-Bank
2
2
  ==========
3
3
 
4
- A Redis-backed bank for the Money gem.
4
+ A Redis-backed Bank for the {https://github.com/RubyMoney/money Money} gem.
5
+
6
+ See {Money::Bank::RedisBank} for details.
5
7
 
6
8
  Usage
7
9
  -----
8
10
 
9
11
  ```ruby
10
12
  redis_client = Redis.new
11
- # Or, if you'd rather just test it out without firing up redis,
12
- # you can just use a hash, e.g.
13
- # redis_client = {}
14
13
  Money.bank = Money::Bank::RedisBank.new redis_client
15
14
  Money.bank.add_rate("USD", "CAD", 1.24515)
16
15
  Money.bank.add_rate("CAD", "USD", 0.803115)
17
16
  Money.us_dollar(100).exchange_to("CAD") => Money.ca_dollar(124)
18
17
  Money.ca_dollar(100).exchange_to("USD") => Money.us_dollar(80)
18
+ Money.bank.rates => {"EXCHANGE_RATE_USD_TO_CAD" => 1.24515,
19
+ "EXCHANGE_RATE_CAD_TO_USD" => 0.803115}
19
20
  ```
data/lib/redis-bank.rb CHANGED
@@ -29,6 +29,11 @@ class Money
29
29
  @redis_client = redis_client
30
30
  end
31
31
 
32
+ # hash of exchange rates
33
+ def rates
34
+ @redis_client.mapped_mget *@redis_client.keys("exchange_rate_*")
35
+ end
36
+
32
37
  # Exchanges the given +Money+ object to a new +Money+ object in
33
38
  # +to_currency+.
34
39
  #
@@ -143,9 +148,9 @@ class Money
143
148
  # @return [String]
144
149
  #
145
150
  # @example
146
- # rate_key_for("USD", "CAD") #=> "USD_TO_CAD"
151
+ # rate_key_for("USD", "CAD") #=> "exchange_rate_usd_to_cad"
147
152
  def rate_key_for(from, to)
148
- "#{Currency.wrap(from).iso_code}_TO_#{Currency.wrap(to).iso_code}".upcase
153
+ "EXCHANGE_RATE_#{Currency.wrap(from).iso_code}_TO_#{Currency.wrap(to).iso_code}".downcase
149
154
  end
150
155
  end
151
156
  end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-bank
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 25
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
- - 0
8
- - 2
9
- version: 0.0.2
8
+ - 1
9
+ - 1
10
+ version: 0.1.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Cameron Walsh
@@ -14,45 +15,106 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2012-06-08 00:00:00 +10:00
18
- default_executable:
18
+ date: 2012-06-19 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: money
22
22
  prerelease: false
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
24
25
  requirements:
25
26
  - - ">="
26
27
  - !ruby/object:Gem::Version
28
+ hash: 3
27
29
  segments:
28
30
  - 0
29
31
  version: "0"
30
32
  type: :runtime
31
33
  version_requirements: *id001
32
34
  - !ruby/object:Gem::Dependency
33
- name: rspec
35
+ name: money
34
36
  prerelease: false
35
37
  requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
36
39
  requirements:
37
40
  - - ">="
38
41
  - !ruby/object:Gem::Version
42
+ hash: 3
39
43
  segments:
40
44
  - 0
41
45
  version: "0"
42
46
  type: :development
43
47
  version_requirements: *id002
44
48
  - !ruby/object:Gem::Dependency
45
- name: rcov
49
+ name: rake
46
50
  prerelease: false
47
51
  requirement: &id003 !ruby/object:Gem::Requirement
52
+ none: false
48
53
  requirements:
49
54
  - - ">="
50
55
  - !ruby/object:Gem::Version
56
+ hash: 3
51
57
  segments:
52
58
  - 0
53
59
  version: "0"
54
60
  type: :development
55
61
  version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: rspec
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ none: false
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ hash: 3
71
+ segments:
72
+ - 0
73
+ version: "0"
74
+ type: :development
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: simplecov
78
+ prerelease: false
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ none: false
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ hash: 3
85
+ segments:
86
+ - 0
87
+ version: "0"
88
+ type: :development
89
+ version_requirements: *id005
90
+ - !ruby/object:Gem::Dependency
91
+ name: yard
92
+ prerelease: false
93
+ requirement: &id006 !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ hash: 3
99
+ segments:
100
+ - 0
101
+ version: "0"
102
+ type: :development
103
+ version_requirements: *id006
104
+ - !ruby/object:Gem::Dependency
105
+ name: redis
106
+ prerelease: false
107
+ requirement: &id007 !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ hash: 3
113
+ segments:
114
+ - 0
115
+ version: "0"
116
+ type: :development
117
+ version_requirements: *id007
56
118
  description: Redis-backed Bank for the Money gem based on the VariableExchangeBank
57
119
  email: cameron.walsh@gmail.com
58
120
  executables: []
@@ -66,7 +128,6 @@ files:
66
128
  - LICENSE.txt
67
129
  - init.rb
68
130
  - lib/redis-bank.rb
69
- has_rdoc: true
70
131
  homepage: http://github.com/cwalsh/redis-bank
71
132
  licenses: []
72
133
 
@@ -76,25 +137,30 @@ rdoc_options: []
76
137
  require_paths:
77
138
  - lib
78
139
  required_ruby_version: !ruby/object:Gem::Requirement
140
+ none: false
79
141
  requirements:
80
142
  - - ">="
81
143
  - !ruby/object:Gem::Version
144
+ hash: 3
82
145
  segments:
83
146
  - 0
84
147
  version: "0"
85
148
  required_rubygems_version: !ruby/object:Gem::Requirement
149
+ none: false
86
150
  requirements:
87
151
  - - ">="
88
152
  - !ruby/object:Gem::Version
153
+ hash: 3
89
154
  segments:
90
155
  - 0
91
156
  version: "0"
92
157
  requirements: []
93
158
 
94
159
  rubyforge_project:
95
- rubygems_version: 1.3.6
160
+ rubygems_version: 1.8.24
96
161
  signing_key:
97
162
  specification_version: 3
98
163
  summary: Redis-backed Bank for the Money gem
99
164
  test_files: []
100
165
 
166
+ has_rdoc: yard