class MassInsert::Process

Attributes

options[R]
values[R]

Public Class Methods

new(values, options) click to toggle source
# File lib/mass_insert/process.rb, line 5
def initialize(values, options)
  @values  = values
  @options = options
end

Public Instance Methods

start() click to toggle source
# File lib/mass_insert/process.rb, line 10
def start
  ActiveRecord::Base.transaction do
    values.each_slice(per_batch).each do |batch|
      query = builder.build(batch, options)
      executer.execute(query)
    end
  end
end

Private Instance Methods

builder() click to toggle source
# File lib/mass_insert/process.rb, line 21
def builder
  @builder ||= Builder.new
end
executer() click to toggle source
# File lib/mass_insert/process.rb, line 25
def executer
  @executer ||= Executer.new
end
per_batch() click to toggle source
# File lib/mass_insert/process.rb, line 29
def per_batch
  options[:per_batch] || Utilities.per_batch
end