Module: Arel::Crud
- Included in:
- SelectManager, Table
- Defined in:
- lib/arel/crud.rb
Overview
FIXME hopefully we can remove this
Instance Method Summary collapse
- #compile_delete ⇒ Object
- #compile_insert(values) ⇒ Object
- #compile_update(values, pk) ⇒ Object
- #create_insert ⇒ Object
Instance Method Details
#compile_delete ⇒ Object
32 33 34 35 36 37 |
# File 'lib/arel/crud.rb', line 32 def compile_delete dm = DeleteManager.new @engine dm.wheres = @ctx.wheres dm.from @ctx.froms dm end |
#compile_insert(values) ⇒ Object
22 23 24 25 26 |
# File 'lib/arel/crud.rb', line 22 def compile_insert values im = create_insert im.insert values im end |
#compile_update(values, pk) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/arel/crud.rb', line 5 def compile_update values, pk um = UpdateManager.new @engine if Nodes::SqlLiteral === values relation = @ctx.from else relation = values.first.first.relation end um.key = pk um.table relation um.set values um.take @ast.limit.expr if @ast.limit um.order(*@ast.orders) um.wheres = @ctx.wheres um end |
#create_insert ⇒ Object
28 29 30 |
# File 'lib/arel/crud.rb', line 28 def create_insert InsertManager.new @engine end |