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