redis-bank 0.0.2 → 0.1.1

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.
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