class RSpec::Rails::Matchers::RoutingMatchers::BeRoutableMatcher

Public Class Methods

new(scope) click to toggle source
# File lib/rspec/rails/matchers/routing_matchers.rb, line 62
def initialize(scope)
  @scope = scope
end

Public Instance Methods

failure_message_for_should() click to toggle source
# File lib/rspec/rails/matchers/routing_matchers.rb, line 76
def failure_message_for_should
  "expected #{@actual.inspect} to be routable"
end
failure_message_for_should_not() click to toggle source
# File lib/rspec/rails/matchers/routing_matchers.rb, line 80
def failure_message_for_should_not
  "expected #{@actual.inspect} not to be routable, but it routes to #{@routing_options.inspect}"
end
matches?(path) click to toggle source

@api private

# File lib/rspec/rails/matchers/routing_matchers.rb, line 67
def matches?(path)
  @actual = path
  match_unless_raises ActionController::RoutingError do
    @routing_options = @scope.routes.recognize_path(
      path.values.first, :method => path.keys.first
    )
  end
end