Module: Koine::Repository::Repository::IdAwareEntity

Defined in:
lib/koine/repository/repository/id_aware_entity.rb

Instance Method Summary collapse

Instance Method Details

#create(entity) ⇒ Object



13
14
15
16
17
18
# File 'lib/koine/repository/repository/id_aware_entity.rb', line 13

def create(entity)
  values = hydrator.extract(entity)
  values.delete("id")
  values.delete(:id)
  entity.id = storage.insert(values)
end

#find(id) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/koine/repository/repository/id_aware_entity.rb', line 5

def find(id)
  data = storage.find_one_by(id: id)
  return data unless data
  entity = new_entity
  hydrate(data, entity)
  entity
end

#remove(entity) ⇒ Object



26
27
28
# File 'lib/koine/repository/repository/id_aware_entity.rb', line 26

def remove(entity)
  storage.delete_where({ id: entity.id })
end

#update(entity) ⇒ Object



20
21
22
23
24
# File 'lib/koine/repository/repository/id_aware_entity.rb', line 20

def update(entity)
  values = hydrator.extract(entity)
  values.delete(:id)
  storage.update_where({ id: entity.id }, values)
end