Class: Hyperion::Key

Inherits:
Object
  • Object
show all
Defined in:
lib/hyperion/key.rb

Class Method Summary collapse

Class Method Details

.compose_key(kind, id = nil) ⇒ Object



16
17
18
19
# File 'lib/hyperion/key.rb', line 16

def compose_key(kind, id=nil)
  _id = id.nil? || id.to_s.strip == "" ? generate_id : id.to_s
  encode_key("#{encode_key(kind.to_s)}:#{encode_key(_id)}")
end

.decode_key(value) ⇒ Object



12
13
14
# File 'lib/hyperion/key.rb', line 12

def decode_key(value)
  decode(denormalize(value))
end

.decompose_key(key) ⇒ Object



21
22
23
# File 'lib/hyperion/key.rb', line 21

def decompose_key(key)
  decode_key(key).split(/:/).map {|part| decode_key(part)}
end

.encode_key(value) ⇒ Object



8
9
10
# File 'lib/hyperion/key.rb', line 8

def encode_key(value)
  normalize(encode(value))
end

.generate_idObject



25
26
27
# File 'lib/hyperion/key.rb', line 25

def generate_id
  UUIDTools::UUID.random_create.to_s.gsub(/-/, '')
end