class Rmodel::Repository

Public Class Methods

new(source, mapper) click to toggle source
# File lib/rmodel/repository.rb, line 13
def initialize(source, mapper)
  @source = source or raise ArgumentError, 'Source is not set up'
  @mapper = mapper or raise ArgumentError, 'Mapper is not set up'
end

Public Instance Methods

destroy(object) click to toggle source
# File lib/rmodel/repository.rb, line 34
def destroy(object)
  @source.delete(object.id)
end
find(id) click to toggle source
# File lib/rmodel/repository.rb, line 18
def find(id)
  record = @source.find(id)
  @mapper.deserialize(record)
end
insert_one(object) click to toggle source
# File lib/rmodel/repository.rb, line 23
def insert_one(object)
  record = @mapper.serialize(object, true)
  id = @source.insert(record)
  object.id ||= id
end
update(object) click to toggle source
# File lib/rmodel/repository.rb, line 29
def update(object)
  record = @mapper.serialize(object, false)
  @source.update(object.id, record)
end