class AfterParty::TaskRecorder

Task Recorder is responsible for collecting pending tasks and recording their execution

Constants

FILE_MASK

Attributes

filename[R]
task_name[R]
timestamp[R]

Public Class Methods

new(filename = '') click to toggle source
# File lib/after_party/models/task_recorder.rb, line 15
def initialize(filename = '')
  @filename = filename
  parse_filename
end
pending_files() click to toggle source
# File lib/after_party/models/task_recorder.rb, line 9
def self.pending_files
  Dir[FILE_MASK].collect { |f| TaskRecorder.new(f) }
    .select(&:pending?)
    .sort_by(&:timestamp)
end

Public Instance Methods

parse_filename() click to toggle source
# File lib/after_party/models/task_recorder.rb, line 24
def parse_filename
  /(\d+)_(.+)\.rake/.match(Pathname(@filename).basename.to_s) do |m|
    @timestamp = m[1]
    @task_name = m[2]
  end
end
pending?() click to toggle source
# File lib/after_party/models/task_recorder.rb, line 20
def pending?
  timestamp && !TaskRecord.completed_task?(timestamp)
end