Class: Clockwork::DatabaseEvents::Synchronizer

Inherits:
Object
  • Object
show all
Defined in:
lib/clockwork/database_events/synchronizer.rb

Class Method Summary collapse

Class Method Details

.setup(options = {}, &block_to_perform_on_event_trigger) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/clockwork/database_events/synchronizer.rb', line 9

def self.setup(options={}, &block_to_perform_on_event_trigger)
  model_class = options.fetch(:model) { raise KeyError, ":model must be set to the model class" }
  every = options.fetch(:every) { raise KeyError, ":every must be set to the database sync frequency" }

  event_store = EventStore.new(block_to_perform_on_event_trigger)

  # create event that syncs clockwork events with events coming from database-backed model
  Clockwork.manager.every every, "sync_database_events_for_model_#{model_class}" do
    event_store.update(model_class.all)
  end
end