class Rimportor::ActiveRecord::SqlBuilder
Public Class Methods
new(model)
click to toggle source
# File lib/rimportor/active_record/sql_builder.rb, line 5 def initialize(model) @model = model set_timestamps end
Public Instance Methods
arel_for_create()
click to toggle source
# File lib/rimportor/active_record/sql_builder.rb, line 20 def arel_for_create @model.send(:arel_attributes_with_values_for_create, @model.attribute_names) end
full_insert_statement()
click to toggle source
# File lib/rimportor/active_record/sql_builder.rb, line 10 def full_insert_statement insert_manager.tap do |im| im.insert(arel_for_create) end.to_sql end
insert_manager()
click to toggle source
# File lib/rimportor/active_record/sql_builder.rb, line 24 def insert_manager @model.class.arel_table.create_insert end
partial_insert_statement()
click to toggle source
# File lib/rimportor/active_record/sql_builder.rb, line 16 def partial_insert_statement insert_manager.insert(arel_for_create).to_sql end
set_created_at()
click to toggle source
# File lib/rimportor/active_record/sql_builder.rb, line 33 def set_created_at @model.updated_at = Time.zone.now if @model.respond_to? :updated_at end
set_timestamps()
click to toggle source
# File lib/rimportor/active_record/sql_builder.rb, line 28 def set_timestamps set_created_at set_updated_at end
set_updated_at()
click to toggle source
# File lib/rimportor/active_record/sql_builder.rb, line 37 def set_updated_at @model.created_at = Time.zone.now if @model.respond_to? :created_at end