module Dynamini::GlobalId::ClassMethods

Public Instance Methods

deserialize_id(id) click to toggle source
# File lib/dynamini/global_id.rb, line 9
def deserialize_id(id)
  if self.range_key
    raise 'Dynamini::GlobalId.deserialize_id requires range key. please define .deserialize_id'
  end

  return id
end
find(id) click to toggle source
# File lib/dynamini/global_id.rb, line 17
def find(id)
  hash_value, range_value = *deserialize_id(id)

  fail 'Range key cannot be blank.' if range_key && range_value.nil?
  response = client.get_item(
    table_name: self.table_name,
    key: self.create_key_hash(hash_value, range_value)
  )
  raise 'Item not found.' unless response.item
  new(response.item.symbolize_keys, false)
end