Exception: ActionController::UrlGenerationError

Inherits:
ActionControllerError show all
Includes:
DidYouMean::Correctable
Defined in:
lib/action_controller/metal/exceptions.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message, routes = nil, route_name = nil, method_name = nil) ⇒ UrlGenerationError

Returns a new instance of UrlGenerationError.



30
31
32
33
34
35
36
# File 'lib/action_controller/metal/exceptions.rb', line 30

def initialize(message, routes = nil, route_name = nil, method_name = nil)
  @routes      = routes
  @route_name  = route_name
  @method_name = method_name

  super(message)
end

Instance Attribute Details

#method_nameObject (readonly)

Returns the value of attribute method_name.



28
29
30
# File 'lib/action_controller/metal/exceptions.rb', line 28

def method_name
  @method_name
end

#route_nameObject (readonly)

Returns the value of attribute route_name.



28
29
30
# File 'lib/action_controller/metal/exceptions.rb', line 28

def route_name
  @route_name
end

#routesObject (readonly)

Returns the value of attribute routes.



28
29
30
# File 'lib/action_controller/metal/exceptions.rb', line 28

def routes
  @routes
end

Instance Method Details

#correctionsObject



41
42
43
44
45
46
47
48
# File 'lib/action_controller/metal/exceptions.rb', line 41

def corrections
  @corrections ||= begin
    maybe_these = routes&.named_routes&.helper_names&.grep(/#{route_name}/) || []
    maybe_these -= [method_name.to_s] # remove exact match

    DidYouMean::SpellChecker.new(dictionary: maybe_these).correct(route_name)
  end
end