Class: FMCache::IdKeyGen
- Inherits:
-
Object
- Object
- FMCache::IdKeyGen
- Defined in:
- lib/fmcache/id_key_gen.rb
Constant Summary collapse
- DEFAULT_KEY_PREFIX =
"fmcache"
Instance Method Summary collapse
-
#initialize(prefix) ⇒ IdKeyGen
constructor
A new instance of IdKeyGen.
- #to_id(key) ⇒ Integer
- #to_ids(keys) ⇒ <Integer>
- #to_key(id) ⇒ String
- #to_keys(ids) ⇒ <String>
Constructor Details
#initialize(prefix) ⇒ IdKeyGen
Returns a new instance of IdKeyGen.
6 7 8 9 |
# File 'lib/fmcache/id_key_gen.rb', line 6 def initialize(prefix) p = prefix || DEFAULT_KEY_PREFIX @prefix = "#{p}:" end |
Instance Method Details
#to_id(key) ⇒ Integer
31 32 33 34 35 36 37 38 |
# File 'lib/fmcache/id_key_gen.rb', line 31 def to_id(key) prefix_len = @prefix.size if key[0..(prefix_len-1)] == @prefix key[prefix_len..-1].to_i else raise "invalid key: #{key}" end end |
#to_ids(keys) ⇒ <Integer>
25 26 27 |
# File 'lib/fmcache/id_key_gen.rb', line 25 def to_ids(keys) keys.map { |key| to_id(key) } end |
#to_key(id) ⇒ String
19 20 21 |
# File 'lib/fmcache/id_key_gen.rb', line 19 def to_key(id) "#{@prefix}#{id}" end |
#to_keys(ids) ⇒ <String>
13 14 15 |
# File 'lib/fmcache/id_key_gen.rb', line 13 def to_keys(ids) ids.map { |id| to_key(id) } end |