class Roadie::ProvidersFailed
def build_message(extra_message)
def build_message(extra_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, provider_list, errors)
def initialize(css_name, provider_list, errors) @errors = errors super(css_name, "All providers failed", provider_list) end