class Hypostasis::Key
Public Class Methods
new(key_path, value = nil)
click to toggle source
# File lib/hypostasis/key.rb, line 2 def initialize(key_path, value = nil) @key_path = key_path end
Public Instance Methods
[](index)
click to toggle source
# File lib/hypostasis/key.rb, line 14 def [](index) unpack_tuple(decomposed_key[index.to_i]) end
first()
click to toggle source
# File lib/hypostasis/key.rb, line 6 def first unpack_tuple(decomposed_key.first) end
last()
click to toggle source
# File lib/hypostasis/key.rb, line 10 def last unpack_tuple(decomposed_key.last) end
Private Instance Methods
decomposed_key()
click to toggle source
# File lib/hypostasis/key.rb, line 20 def decomposed_key @decomposed_key ||= @key_path.split('\\') end
unpack_tuple(key)
click to toggle source
# File lib/hypostasis/key.rb, line 24 def unpack_tuple(key) begin Hypostasis::Tuple.unpack(key) rescue RuntimeError => e if e.message.match(/^Unknown data type in DB:/) key else raise e end end end