Class: Rmodel::Repository
Instance Method Summary
collapse
#all, #delete_all, #destroy_all, #fetch, #find_all, included
#find!, #insert, #save
Constructor Details
#initialize(source, mapper) ⇒ Repository
Returns a new instance of Repository.
11
12
13
14
|
# File 'lib/rmodel/repository.rb', line 11
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
|
Instance Method Details
#destroy(object) ⇒ Object
32
33
34
|
# File 'lib/rmodel/repository.rb', line 32
def destroy(object)
@source.delete(object.id)
end
|
#find(id) ⇒ Object
16
17
18
19
|
# File 'lib/rmodel/repository.rb', line 16
def find(id)
record = @source.find(id)
@mapper.deserialize(record)
end
|
#insert_one(object) ⇒ Object
21
22
23
24
25
|
# File 'lib/rmodel/repository.rb', line 21
def insert_one(object)
record = @mapper.serialize(object, true)
id = @source.insert(record)
object.id ||= id
end
|
#update(object) ⇒ Object
27
28
29
30
|
# File 'lib/rmodel/repository.rb', line 27
def update(object)
record = @mapper.serialize(object, false)
@source.update(object.id, record)
end
|