Module: Arel::Crud

Included in:
SelectManager
Defined in:
activerecord/lib/arel/crud.rb

Overview

FIXME hopefully we can remove this

Instance Method Summary collapse

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_insertObject



13
14
15
# File 'activerecord/lib/arel/crud.rb', line 13

def create_insert
  InsertManager.new
end