Class: ActionDispatch::Routing::PathRedirect

Inherits:
Redirect show all
Defined in:
actionpack/lib/action_dispatch/routing/redirection.rb

Constant Summary collapse

URL_PARTS =
/\A([^?]+)?(\?[^#]+)?(#.+)?\z/

Instance Attribute Summary

Attributes inherited from Redirect

#block, #status

Instance Method Summary collapse

Methods inherited from Redirect

#call, #initialize, #redirect?, #serve

Methods inherited from Endpoint

#app, #dispatcher?, #matches?, #redirect?

Constructor Details

This class inherits a constructor from ActionDispatch::Routing::Redirect

Instance Method Details

#inspectObject


92
93
94
# File 'actionpack/lib/action_dispatch/routing/redirection.rb', line 92

def inspect
  "redirect(#{status}, #{block})"
end

#path(params, request) ⇒ Object


80
81
82
83
84
85
86
87
88
89
90
# File 'actionpack/lib/action_dispatch/routing/redirection.rb', line 80

def path(params, request)
  if block.match(URL_PARTS)
    path     = interpolation_required?($1, params) ? $1 % escape_path(params)     : $1
    query    = interpolation_required?($2, params) ? $2 % escape(params)          : $2
    fragment = interpolation_required?($3, params) ? $3 % escape_fragment(params) : $3

    "#{path}#{query}#{fragment}"
  else
    interpolation_required?(block, params) ? block % escape(params) : block
  end
end