Sha256: 472eaca1fae9e82be3bc21f1ff1bcf503d02d7a698d8e13809267035b6e2fd9a
Contents?: true
Size: 763 Bytes
Versions: 3
Compression:
Stored size: 763 Bytes
Contents
class TaskManager def initialize(output) @output = output @tasks = [] end def add(task) @tasks << task end def run(files) @output.start_run; @tasks.each do |task| begin break if !run_task(files, task) rescue Exception => ex output_exception(ex) end end end def run_task(files, task) result = task.run(files) return true if result.nil? @output.add_result(result) return !([:error, :failure].include? result[:state]) end def output_exception(ex) @output.add_result({ :state => :error, :title => 'Task', :summary => 'Exception', :first => ex.message, :detail => ex.backtrace }) end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
karl-loris-0.0.10 | lib/task_manager.rb |
karl-loris-0.0.11 | lib/task_manager.rb |
loris-0.0.12 | lib/task_manager.rb |