Sha256: a1d65b8c0ff0047ef15da2036f46481f063a9aa73dd17a796ead68b7861baa72
Contents?: true
Size: 1.43 KB
Versions: 1
Compression:
Stored size: 1.43 KB
Contents
module ActiveRecord::Turntable module ActiveRecordExt module ActiverecordImportExt extend ActiveSupport::Concern included do alias_method_chain :values_sql_for_columns_and_attributes, :turntable end private def values_sql_for_columns_and_attributes_with_turntable(columns, array_of_attributes) connection_memo = connection array_of_attributes.map do |arr| my_values = arr.each_with_index.map do |val,j| column = columns[j] # be sure to query sequence_name *last*, only if cheaper tests fail, because it's costly if val.nil? && column.name == primary_key && !sequence_name.blank? if sequencer_enabled? connection_memo.next_sequence_value(sequence_name) else connection_memo.next_value_for_sequence(sequence_name) end else if serialized_attributes.include?(column.name) connection_memo.quote(serialized_attributes[column.name].dump(val), column) else connection_memo.quote(val, column) end end end "(#{my_values.join(',')})" end end end begin require 'activerecord-import' require 'activerecord-import/base' (class << ActiveRecord::Base; self; end).send(:include, ActiverecordImportExt) rescue LoadError end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
activerecord-turntable-2.0.0.rc1 | lib/active_record/turntable/active_record_ext/activerecord_import_ext.rb |