Sha256: ce46bc4f1db3fd883dc8470ce2a21d44b94fc27fd85d7f372f2a8290a9e16ab0

Contents?: true

Size: 837 Bytes

Versions: 9

Compression:

Stored size: 837 Bytes

Contents

# frozen_string_literal: true

module Coach
  module Errors
    class MiddlewareDependencyNotMet < StandardError
      def initialize(middleware, previous_chain, missing_keys)
        @middleware = middleware
        @previous_chain = previous_chain
        @missing_keys = missing_keys

        super("\n\n#{chain_diagram}\n\n#{missing_keys_message}\n\n")
      end

      def missing_keys_message
        "  #{@middleware.name} is missing #{@missing_keys} from above!"
      end

      def chain_diagram
        @previous_chain.map do |middleware|
          "  #{middleware.name} => #{middleware.provided}"
        end.join("\n")
      end
    end

    class RouterUnknownDefaultAction < StandardError
      def initialize(action)
        super("Coach::Router does not know how to build action :#{action}")
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
coach-4.0.0 lib/coach/errors.rb
coach-3.0.1 lib/coach/errors.rb
coach-3.0.0 lib/coach/errors.rb
coach-2.3.0 lib/coach/errors.rb
coach-2.2.2 lib/coach/errors.rb
coach-2.2.1 lib/coach/errors.rb
coach-2.2.0 lib/coach/errors.rb
coach-2.1.0 lib/coach/errors.rb
coach-2.0.0 lib/coach/errors.rb