Class: Separatum::Exporters::ActiveRecord

Inherits:
Object
  • Object
show all
Defined in:
lib/separatum/exporters/active_record.rb

Instance Method Summary collapse

Instance Method Details

#call(*hashes) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/separatum/exporters/active_record.rb', line 4

def call(*hashes)
  objects = ::Separatum::Converters::Hash2Object.new.(hashes.flatten)
  ::ActiveRecord::Base.transaction do
    objects.each do |o|
      o.class.connection.execute("ALTER TABLE %s DISABLE TRIGGER ALL;" % [o.class.table_name])
      o.save!(validate: false)
      o.class.connection.execute("ALTER TABLE %s ENABLE TRIGGER ALL;" % [o.class.table_name])
    end
  end
  objects.map(&:reload)
end