Module: Hold::HashRepository

Included in:
File::HashRepository, InMemory::HashRepository, Serialized::HashRepository
Defined in:
lib/hold/interfaces/hash_repository.rb

Overview

Persists values in a key/value store

Defined Under Namespace

Classes: KeyCell

Instance Method Summary collapse

Instance Method Details

#can_get_class?(klass) ⇒ Boolean

Can override to indicate if you only support getting/setting values of a particular class or classes:

Returns:

  • (Boolean)


33
# File 'lib/hold/interfaces/hash_repository.rb', line 33

def can_get_class?(klass); true; end

#can_set_class?(klass) ⇒ Boolean

Returns:

  • (Boolean)


34
# File 'lib/hold/interfaces/hash_repository.rb', line 34

def can_set_class?(klass); true; end

#clear_key(key) ⇒ Object



18
19
20
# File 'lib/hold/interfaces/hash_repository.rb', line 18

def clear_key(key)
  raise UnsupportedOperation
end

#get_many_with_keys(keys) ⇒ Object

Gets multiple entities at a time by a list of keys. May override with an efficient multi-get implementation.



14
15
16
# File 'lib/hold/interfaces/hash_repository.rb', line 14

def get_many_with_keys(keys)
  keys.map {|key| get_with_key(key)}
end

#get_with_key(key) ⇒ Object



8
9
10
# File 'lib/hold/interfaces/hash_repository.rb', line 8

def get_with_key(key)
  raise UnsupportedOperation
end

#has_key?(key) ⇒ Boolean Also known as: key?

Returns:

  • (Boolean)

Raises:



22
23
24
# File 'lib/hold/interfaces/hash_repository.rb', line 22

def has_key?(key)
  raise UnsupportedOperation
end

#key_cell(key) ⇒ Object



27
28
29
# File 'lib/hold/interfaces/hash_repository.rb', line 27

def key_cell(key)
  KeyCell.new(self, key)
end

#set_with_key(key, value) ⇒ Object



4
5
6
# File 'lib/hold/interfaces/hash_repository.rb', line 4

def set_with_key(key, value)
  raise UnsupportedOperation
end