Method: Arel::InsertManager#insert

Defined in:
lib/arel/insert_manager.rb

#insert(fields) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/arel/insert_manager.rb', line 16

def insert fields
  return if fields.empty?

  if String === fields
    @ast.values = SqlLiteral.new(fields)
  else
    @ast.relation ||= fields.first.first.relation

    values = []

    fields.each do |column, value|
      @ast.columns << column
      values << value
    end
    @ast.values = Nodes::Values.new values, @ast.columns
  end
end