Class: FMCache::IdKeyGen

Inherits:
Object
  • Object
show all
Defined in:
lib/fmcache/id_key_gen.rb

Constant Summary collapse

DEFAULT_KEY_PREFIX =
"fmcache"

Instance Method Summary collapse

Constructor Details

#initialize(prefix) ⇒ IdKeyGen

Returns a new instance of IdKeyGen.

Parameters:

  • prefix (String, nil)


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

Parameters:

  • id (String)

Returns:

  • (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>

Parameters:

  • keys (<String>)

Returns:

  • (<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

Parameters:

  • id (Integer)

Returns:

  • (String)


19
20
21
# File 'lib/fmcache/id_key_gen.rb', line 19

def to_key(id)
  "#{@prefix}#{id}"
end

#to_keys(ids) ⇒ <String>

Parameters:

  • ids (<Integer>)

Returns:

  • (<String>)


13
14
15
# File 'lib/fmcache/id_key_gen.rb', line 13

def to_keys(ids)
  ids.map { |id| to_key(id) }
end