Class: ActiveRecord::MassInsert::Statement

Inherits:
Object
  • Object
show all
Defined in:
lib/activerecord/mass_insert/statement.rb

Overview

Common structure for all SQL statement builders

Direct Known Subclasses

Inserter, Projection

Instance Method Summary collapse

Constructor Details

#initialize(model, payload, *matching_columns, **mapped_columns) ⇒ Statement

Returns a new instance of Statement.



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/activerecord/mass_insert/statement.rb', line 7

def initialize(model, payload, *matching_columns, **mapped_columns)
  @model = model
  @payload = payload_to_json_array(payload)
  if matching_columns.empty? && mapped_columns.empty?
    @matching_columns = fallback_matching_columns(model)
    @mapped_columns = fallback_mapped_columns(model)
  else
    @matching_columns = matching_columns
    @mapped_columns = mapped_columns
  end
end