class Djoini::Crud
Holds basic crud operaions. Workds like wrapper above Table
.
Attributes
relation[RW]
Public Class Methods
new(relation)
click to toggle source
# File lib/djoini/crud.rb, line 4 def initialize(relation) self.relation = relation end
Public Instance Methods
all()
click to toggle source
# File lib/djoini/crud.rb, line 37 def all table.all.map { |values| relation.new_record(values) } end
create(values)
click to toggle source
# File lib/djoini/crud.rb, line 8 def create(values) id = table.insert(values)[0]['id'].to_i find(id) end
delete_all()
click to toggle source
# File lib/djoini/crud.rb, line 41 def delete_all table.delete_all end
destroy(id)
click to toggle source
# File lib/djoini/crud.rb, line 33 def destroy(id) table.delete(table.primary_key => id) end
find(id)
click to toggle source
# File lib/djoini/crud.rb, line 19 def find(id) values = table.where(table.primary_key => id).first return nil unless values relation.new_record(values) end
update(id, values)
click to toggle source
# File lib/djoini/crud.rb, line 14 def update(id, values) table.update(where: { table.primary_key => id }, fields: values) end
where(params)
click to toggle source
# File lib/djoini/crud.rb, line 27 def where(params) rows = table.where(params) rows.map { |values| relation.new_record(values) } end
Private Instance Methods
table()
click to toggle source
# File lib/djoini/crud.rb, line 49 def table relation.table end