class Roadie::ProvidersFailed

Attributes

errors[R]

Public Class Methods

new(css_name:, providers:, errors:) click to toggle source
Calls superclass method Roadie::CssNotFound::new
# File lib/roadie/errors.rb, line 72
def initialize(css_name:, providers:, errors:)
  @errors = errors
  super(
    css_name: css_name,
    message: "All providers failed",
    provider: providers
  )
end

Private Instance Methods

build_message() click to toggle source
# File lib/roadie/errors.rb, line 83
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
each_error_row(errors) { |row| ... } click to toggle source
# File lib/roadie/errors.rb, line 91
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