123456789_123456789_123456789_123456789_123456789_

Module: Arel::Crud

Do not use. This module is for internal use only.
Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Defined in: activerecord/lib/arel/crud.rb

Overview

FIXME hopefully we can remove this

Instance Method Summary

Instance Method Details

#compile_delete(key = nil, having_clause = nil, group_values_columns = [])

[ GitHub ]

  
# File 'activerecord/lib/arel/crud.rb', line 36

def compile_delete(key = nil, having_clause = nil, group_values_columns = [])
  dm = DeleteManager.new(source)
  dm.take(limit)
  dm.offset(offset)
  dm.order(*orders)
  dm.wheres = constraints
  dm.key = key
  dm.group(group_values_columns) unless group_values_columns.empty?
  dm.having(having_clause) unless having_clause.nil?
  dm
end

#compile_insert(values)

[ GitHub ]

  
# 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, having_clause = nil, group_values_columns = [])

[ GitHub ]

  
# File 'activerecord/lib/arel/crud.rb', line 17

def compile_update(
  values,
  key = nil,
  having_clause = nil,
  group_values_columns = []
)
  um = UpdateManager.new(source)
  um.set(values)
  um.take(limit)
  um.offset(offset)
  um.order(*orders)
  um.wheres = constraints
  um.key = key

  um.group(group_values_columns) unless group_values_columns.empty?
  um.having(having_clause) unless having_clause.nil?
  um
end

#create_insert

[ GitHub ]

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

def create_insert
  InsertManager.new
end