module Procrastinator::Task::TaskClassMethods

Module that provides the task_attr class method for task definitions to declare their expected information.

Public Instance Methods

task_attr(*fields) click to toggle source
# File lib/procrastinator/task.rb, line 33
def task_attr(*fields)
   attr_list = KNOWN_ATTRIBUTES.collect { |a| ':' + a.to_s }.join(', ')

   fields.each do |field|
      err = "Unknown Procrastinator::Task attribute :#{ field }. " \
            "Importable attributes are: #{ attr_list }"
      raise ArgumentError, err unless KNOWN_ATTRIBUTES.include?(field)
   end

   attr_accessor(*fields)
end