Class: Taskr::TaskManager
- Inherits:
-
Object
- Object
- Taskr::TaskManager
- Defined in:
- lib/taskr/task_manager.rb
Instance Method Summary collapse
-
#initialize ⇒ TaskManager
constructor
A new instance of TaskManager.
- #register(task, deps = []) ⇒ Object
- #run(task_name) ⇒ Object
- #tasks ⇒ Object
Constructor Details
#initialize ⇒ TaskManager
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
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 |
#tasks ⇒ Object
15 16 17 |
# File 'lib/taskr/task_manager.rb', line 15 def tasks @data.values.map {|task_record| task_record[:task]} end |