Class: ActiveEnum::Storage::AbstractStore

Inherits:
Object
  • Object
show all
Defined in:
lib/active_enum/storage/abstract_store.rb

Direct Known Subclasses

MemoryStore

Instance Method Summary collapse

Constructor Details

#initialize(enum_class, order, options = {}) ⇒ AbstractStore

Returns a new instance of AbstractStore.



9
10
11
# File 'lib/active_enum/storage/abstract_store.rb', line 9

def initialize(enum_class, order, options={})
  @enum, @order, @options = enum_class, order, options
end

Instance Method Details

#check_duplicate(id, name) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/active_enum/storage/abstract_store.rb', line 25

def check_duplicate(id, name)
  if get_by_id(id) 
    raise ActiveEnum::DuplicateValue, "#{@enum}: Duplicate id #{id}"
  elsif get_by_name(name)
    raise ActiveEnum::DuplicateValue, "#{@enum}: Duplicate name '#{name}'"
  end
end

#get_by_id(id) ⇒ Object

Raises:



17
18
19
# File 'lib/active_enum/storage/abstract_store.rb', line 17

def get_by_id(id)
  raise NotImplemented
end

#get_by_name(name) ⇒ Object

Raises:



21
22
23
# File 'lib/active_enum/storage/abstract_store.rb', line 21

def get_by_name(name)
  raise NotImplemented
end

#set(id, name, meta = nil) ⇒ Object

Raises:



13
14
15
# File 'lib/active_enum/storage/abstract_store.rb', line 13

def set(id, name, meta=nil)
  raise NotImplemented
end

#valuesObject



33
34
35
# File 'lib/active_enum/storage/abstract_store.rb', line 33

def values
  _values
end