Class: R10K::TaskRunner
Deprecated
- Inherits:
-
Object
show all
- Includes:
- Logging
- Defined in:
- lib/r10k/task_runner.rb
Overview
Constant Summary
Constants included
from Logging
Logging::LOG_LEVELS
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods included from Logging
formatter, included, level, level=, levels, #logger, #logger_name, outputter, parse_level
Constructor Details
Returns a new instance of TaskRunner.
11
12
13
14
15
16
17
18
19
|
# File 'lib/r10k/task_runner.rb', line 11
def initialize(opts)
@tasks = []
@succeeded = true
@errors = {}
@trace = opts.delete(:trace)
raise "Unrecognized options: #{opts.keys.join(', ')}" unless opts.empty?
end
|
Instance Attribute Details
#succeeded=(value) ⇒ Object
Sets the attribute succeeded
9
10
11
|
# File 'lib/r10k/task_runner.rb', line 9
def succeeded=(value)
@succeeded = value
end
|
Instance Method Details
#append_task(task) ⇒ Object
49
50
51
|
# File 'lib/r10k/task_runner.rb', line 49
def append_task(task)
@tasks << task
end
|
#exit_value ⇒ Object
68
69
70
|
# File 'lib/r10k/task_runner.rb', line 68
def exit_value
@succeeded ? 0 : 1
end
|
#insert_task_after(task_index, new_task) ⇒ Object
55
56
57
58
59
60
61
62
|
# File 'lib/r10k/task_runner.rb', line 55
def insert_task_after(task_index, new_task)
if (index = @tasks.index(task_index))
index += 1
@tasks.insert(index, new_task)
else
@tasks.insert(0, new_task)
end
end
|
#prepend_task(task) ⇒ Object
45
46
47
|
# File 'lib/r10k/task_runner.rb', line 45
def prepend_task(task)
@tasks.unshift task
end
|
#run ⇒ Object
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/r10k/task_runner.rb', line 21
def run
catch :abort do
until @tasks.empty?
current = @tasks.first
current.task_runner = self
begin
current.call
rescue Interrupt => e
logger.error "Aborted!"
$stderr.puts e.backtrace.join("\n").red if @trace
@succeeded = false
throw :abort
rescue => e
logger.error "Task #{current} failed while running: #{e.message}"
$stderr.puts e.backtrace.join("\n").red if @trace
@errors[current] = e
@succeeded = false
end
@tasks.shift
end
end
end
|
#succeeded? ⇒ Boolean
64
65
66
|
# File 'lib/r10k/task_runner.rb', line 64
def succeeded?
@succeeded
end
|