Module: JunkDrawer::BulkUpdatable
- Defined in:
- lib/junk_drawer/rails/bulk_updatable.rb
Overview
module to allow bulk updates for ‘ActiveRecord` models
Instance Method Summary collapse
Instance Method Details
#bulk_update(objects) ⇒ Object
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/junk_drawer/rails/bulk_updatable.rb', line 10 def bulk_update(objects) objects = objects.select(&:changed?) return unless objects.any? unique_objects = uniquify_and_merge(objects) changed_attributes = extract_changed_attributes(unique_objects) query = build_query_for(unique_objects, changed_attributes) connection.execute(query) objects.each(&:clear_changes_information) end |