Module: Arel::Crud
- Included in:
- SelectManager
- Defined in:
- activerecord/lib/arel/crud.rb
Overview
FIXME hopefully we can remove this
Instance Method Summary collapse
- #compile_delete(key = nil) ⇒ Object
- #compile_insert(values) ⇒ Object
- #compile_update(values, key = nil) ⇒ Object
- #create_insert ⇒ Object
Instance Method Details
#compile_delete(key = nil) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'activerecord/lib/arel/crud.rb', line 32 def compile_delete(key = nil) dm = DeleteManager.new(source) dm.take(limit) dm.offset(offset) dm.order(*orders) dm.wheres = constraints dm.comment(comment) dm.key = key dm.ast.groups = @ctx.groups @ctx.havings.each { |h| dm.having(h) } dm end |
#compile_insert(values) ⇒ Object
7 8 9 10 11 |
# File 'activerecord/lib/arel/crud.rb', line 7 def compile_insert(values) im = create_insert im.insert values im end |
#compile_update(values, key = nil) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'activerecord/lib/arel/crud.rb', line 17 def compile_update(values, key = nil) um = UpdateManager.new(source) um.set(values) um.take(limit) um.offset(offset) um.order(*orders) um.wheres = constraints um.comment(comment) um.key = key um.ast.groups = @ctx.groups @ctx.havings.each { |h| um.having(h) } um end |
#create_insert ⇒ Object
13 14 15 |
# File 'activerecord/lib/arel/crud.rb', line 13 def create_insert InsertManager.new end |