Class: Twterm::Repository::AbstractEntityRepository

Inherits:
AbstractRepository show all
Defined in:
lib/twterm/repository/abstract_entity_repository.rb

Instance Method Summary collapse

Methods inherited from AbstractRepository

#after_create, #before_create, #initialize, #type

Constructor Details

This class inherits a constructor from Twterm::Repository::AbstractRepository

Instance Method Details

#allObject



8
9
10
# File 'lib/twterm/repository/abstract_entity_repository.rb', line 8

def all
  repository.values
end

#create(*args) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/twterm/repository/abstract_entity_repository.rb', line 12

def create(*args)
  invoke_callbacks(:before_create, *args)

  existing_instance = find(extract_key(args))

  instance = existing_instance.nil? ? type.new(*args) : existing_instance.update!(*args)

  store(instance)

  invoke_callbacks(:after_create, instance)

  instance
end

#find(key) ⇒ Object



26
27
28
# File 'lib/twterm/repository/abstract_entity_repository.rb', line 26

def find(key)
  repository[key]
end