Class: Taskr::TaskManager

Inherits:
Object
  • Object
show all
Defined in:
lib/taskr/task_manager.rb

Instance Method Summary collapse

Constructor Details

#initializeTaskManager

Returns a new instance of TaskManager.



5
6
7
# File 'lib/taskr/task_manager.rb', line 5

def initialize
  @data = {}
end

Instance Method Details

#register(task, deps = []) ⇒ Object

Raises:

  • (ArgumentError)


9
10
11
12
13
# File 'lib/taskr/task_manager.rb', line 9

def register(task, deps=[])
  raise ArgumentError.new('Can register only instances of Taskr::Task') unless task.is_a? Task
  @data[task.name] = {:task => task, :deps => deps}
  true
end

#run(task_name) ⇒ Object



19
20
21
22
23
# File 'lib/taskr/task_manager.rb', line 19

def run(task_name)
  task_record = find_by_name(task_name)
  task_record[:deps].each { |task_dep_name| run(task_dep_name) }
  task_record[:task].run
end

#tasksObject



15
16
17
# File 'lib/taskr/task_manager.rb', line 15

def tasks
  @data.values.map {|task_record| task_record[:task]}
end