Module: Chewy::Journal::Apply
- Defined in:
- lib/chewy/journal/apply.rb
Class Method Summary collapse
-
.since(time, options = {}) ⇒ Object
Applies all changes that were done since some moment.
Class Method Details
.since(time, options = {}) ⇒ Object
Applies all changes that were done since some moment
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/chewy/journal/apply.rb', line 11 def since(time, = {}) previous_entries = [] retries = [:retries] || 10 stage = 0 while stage < retries stage += 1 previous_entries.select { |entry| entry.created_at.to_i >= time } entries = Entry.group(Entry.since(time, [:only])) Entry.subtract(entries, previous_entries) break if entries.length.zero? ActiveSupport::Notifications.instrument 'apply_journal.chewy', stage: stage entries.each { |entry| entry.index.import(entry.object_ids, journal: false) } break if [:once] time = Entry.(entries) previous_entries = entries end end |