Class: Clockwork::DatabaseEventSyncPerformer
- Inherits:
-
Object
- Object
- Clockwork::DatabaseEventSyncPerformer
- Defined in:
- lib/clockwork/manager_with_database_tasks.rb
Instance Method Summary collapse
-
#add_event(e, task_id) ⇒ Object
store events by task_id in array (array is needed as there is 1 event per At).
- #clockwork_events ⇒ Object
-
#initialize(manager, model, proc) ⇒ DatabaseEventSyncPerformer
constructor
A new instance of DatabaseEventSyncPerformer.
-
#sync ⇒ Object
Ensure clockwork events reflect database tasks Adds any new tasks, modifies updated ones, and delets removed ones.
Constructor Details
#initialize(manager, model, proc) ⇒ DatabaseEventSyncPerformer
Returns a new instance of DatabaseEventSyncPerformer.
22 23 24 25 26 27 |
# File 'lib/clockwork/manager_with_database_tasks.rb', line 22 def initialize(manager, model, proc) @manager = manager @model = model @block = proc @events = {} end |
Instance Method Details
#add_event(e, task_id) ⇒ Object
store events by task_id in array (array is needed as there is 1 event per At)
50 51 52 53 |
# File 'lib/clockwork/manager_with_database_tasks.rb', line 50 def add_event(e, task_id) @events[task_id] ||= [] @events[task_id] << e end |
#clockwork_events ⇒ Object
45 46 47 |
# File 'lib/clockwork/manager_with_database_tasks.rb', line 45 def clockwork_events @events.values.flatten end |
#sync ⇒ Object
Ensure clockwork events reflect database tasks Adds any new tasks, modifies updated ones, and delets removed ones
31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/clockwork/manager_with_database_tasks.rb', line 31 def sync model_ids_that_exist = [] @model.all.each do |db_task| model_ids_that_exist << db_task.id if !event_exists_for_task(db_task) || task_has_changed(db_task) recreate_event_for_database_task(db_task) end end remove_deleted_database_tasks(model_ids_that_exist) end |