class Roadie::ProvidersFailed

def build_message

def build_message
  message = +%(Could not find stylesheet "#{css_name}": #{extra_message}\nUsed providers:\n)
  each_error_row(errors) do |row|
    message << "\t" << row << "\n"
  end
  message
end

def each_error_row(errors)

def each_error_row(errors)
  errors.each do |error|
    case error
    when ProvidersFailed
      each_error_row(error.errors) { |row| yield row }
    when CssNotFound
      yield error.error_row
    else
      yield "Unknown provider (#{error.class}): #{error}"
    end
  end
end

def initialize(css_name:, providers:, errors:)

def initialize(css_name:, providers:, errors:)
  @errors = errors
  super(
    css_name: css_name,
    message: "All providers failed",
    provider: providers
  )
end