class Paperwork::Tasks::Base

base class for all task generators. takes care that every task is registered and executed during build

Attributes

dependencies[R]
name[R]

Public Class Methods

explain() click to toggle source
# File lib/paperwork/tasks/base.rb, line 39
def self.explain
    list = @@registered_tasks.map do |_name, task|
        "\t#{task.class}: #{task.name} => #{task.dependencies}"
    end
    list.join("\n")
end
new(name, *dependencies) click to toggle source
# File lib/paperwork/tasks/base.rb, line 15
def initialize(name, *dependencies)
    @name = name
    @dependencies = dependencies.compact
    self.register(self)
end

Public Instance Methods

create_tasks() click to toggle source
# File lib/paperwork/tasks/base.rb, line 33
def create_tasks
    registered_tasks.each do |_name, task|
        task.tasks
    end
end
register(task) click to toggle source
# File lib/paperwork/tasks/base.rb, line 21
def register(task)
    registered_tasks[task.name] = task unless registered?(task.name)
end
registered?(name) click to toggle source
# File lib/paperwork/tasks/base.rb, line 29
def registered?(name)
    registered_tasks.keys.include?(name)
end
registered_tasks() click to toggle source
# File lib/paperwork/tasks/base.rb, line 25
def registered_tasks
    @@registered_tasks ||= {}
end