Class: DelayHenka::ApplyChangesWorker
- Inherits:
-
Object
- Object
- DelayHenka::ApplyChangesWorker
- Includes:
- Sidekiq::Worker
- Defined in:
- app/workers/delay_henka/apply_changes_worker.rb
Instance Method Summary collapse
Instance Method Details
#perform ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'app/workers/delay_henka/apply_changes_worker.rb', line 6 def perform ScheduledChange.staged .where('schedule_at <= ?', Time.current) .includes(:changeable) .group_by{ |change| [change.changeable_type, change.changeable_id, change.attribute_name] } .values .each do |changes_for_attribute| latest_change = changes_for_attribute.sort_by(&:created_at).last (changes_for_attribute - [latest_change]).each(&:replace_change) latest_change.apply_change end end |