class Duties::Duty
Attributes
record[R]
Public Class Methods
call(record)
click to toggle source
# File lib/duties/duty.rb, line 2 def self.call(record) new(record).call end
enqueue(name, data = {})
click to toggle source
# File lib/duties/duty.rb, line 6 def self.enqueue(name, data = {}) duty = Duties::DutyRecord.create! name: name, data: data Duties::DutyJob.perform_async duty.id duty.id end
new(record)
click to toggle source
# File lib/duties/duty.rb, line 14 def initialize(record) @record = record end
Public Instance Methods
call()
click to toggle source
# File lib/duties/duty.rb, line 22 def call enqueue_activities start_activities end
enqueue_activities()
click to toggle source
# File lib/duties/duty.rb, line 18 def enqueue_activities # Hook for subclasses to implement end
Private Instance Methods
enqueue_activity(name, options)
click to toggle source
# File lib/duties/duty.rb, line 31 def enqueue_activity(name, options) record.activity_records.create! name: name, position: options[:at] end
start_activities()
click to toggle source
# File lib/duties/duty.rb, line 35 def start_activities record.activity_records.by_position(1).each do |activity| Duties::ActivityJob.perform_async activity.id end end