Class: Trigger
- Inherits:
-
ApplicationRecord
- Object
- ApplicationRecord
- Trigger
- Defined in:
- app/models/trigger.rb
Class Method Summary collapse
- .fire ⇒ Object
- .post_action(due_at, item, method = "came_due") ⇒ Object
- .remove(pending_item, conditions = {}) ⇒ Object
Instance Method Summary collapse
Class Method Details
.fire ⇒ Object
13 14 15 16 |
# File 'app/models/trigger.rb', line 13 def fire where("due_at <= ?", Time.zone.now).destroy_all true end |
.post_action(due_at, item, method = "came_due") ⇒ Object
7 8 9 10 11 |
# File 'app/models/trigger.rb', line 7 def post_action(due_at, item, method = "came_due") create!(due_at: due_at, pending_item: item, trigger_method: method) fire end |
.remove(pending_item, conditions = {}) ⇒ Object
18 19 20 21 22 23 24 |
# File 'app/models/trigger.rb', line 18 def remove(pending_item, conditions = {}) return if pending_item.new_record? conditions = conditions.merge(pending_item_id: pending_item.id, pending_item_type: pending_item.class.to_s) where(conditions).delete_all end |
Instance Method Details
#trigger_pending_item ⇒ Object
30 31 32 33 |
# File 'app/models/trigger.rb', line 30 def trigger_pending_item pending_item&.send(trigger_method) true end |