class GroupedError

Attributes

exceptions[R]

Public Class Methods

new(message=nil) click to toggle source
# File lib/rake/namespace_group/grouped_error.rb, line 4
def initialize(message=nil)
  @exceptions = {}
  @message = message
end

Public Instance Methods

add_exception(task, exception) click to toggle source
# File lib/rake/namespace_group/grouped_error.rb, line 9
def add_exception(task, exception)
  @exceptions[task.name.to_s] = { :task => task, :exception => exception }
end
backtrace() click to toggle source
# File lib/rake/namespace_group/grouped_error.rb, line 17
def backtrace
  backtrace = []
  exceptions.each do |e,v|
    backtrace << "[#{e}] #{v[:exception].message}"
    if v[:exception].is_a?(GroupedError)
      backtrace << v[:exception].backtrace
    end
  end
  backtrace.flatten
end
has_exceptions?() click to toggle source
# File lib/rake/namespace_group/grouped_error.rb, line 36
def has_exceptions?
  exceptions.size > 0
end
message() click to toggle source
# File lib/rake/namespace_group/grouped_error.rb, line 13
def message
  @message || "failed tasks: #{@exceptions.keys.inspect}"
end
trace() click to toggle source
# File lib/rake/namespace_group/grouped_error.rb, line 28
def trace
  backtrace = []
  exceptions.each do |e,v|
    backtrace << v[:exception].backtrace.collect {|x| "[#{e}] #{x}" }
  end
  backtrace.flatten
end