aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing
Commit message (Collapse)AuthorAgeFilesLines
* Routing match `via` option requirement exception message made more explicitBoris Staal2013-03-051-1/+2
|
* Use custom visitor class for optimized url helpersAndrew White2013-03-031-9/+1
| | | | | | | | Rather than trying to use gsub to remove the optional route segments, which will fail with nested optional segments, use a custom visitor class that returns a empty string for group nodes. Closes #9524
* Remove redundant methodAndrew White2013-02-281-8/+0
|
* `format: true` does not override existing format constraints.Yves Senn2013-02-271-1/+1
| | | | | | | Closes #9466. Passing `format: true` used to override the constraints: { format: /json/ } with `/.+/`. This patch only sets the format if there is no constraint present.
* allow non-String default params in the router.Yves Senn2013-02-261-0/+2
| | | | | | | Closes #9435. Skip valid encoding checks for non-String parameters that come from the matched route's defaults.
* the router allows String contraints.Yves Senn2013-02-261-11/+17
| | | | Closes #9432.
* Allow both a path and an option on root in config/routesSam Ruby2013-02-261-2/+9
|
* determine the match shorthand target early.Yves Senn2013-02-211-14/+12
| | | | | | | | Closes #7554. This patch determines the `controller#action` directly in the `match` method when the shorthand syntax is used. this prevents problems with namespaces and scopes.
* Add missing require to routes inspectorCarlos Antonio da Silva2013-02-191-0/+1
|
* Duck typing is hard. Add header to HtmlTableFormatter.Steve Klabnik2013-02-181-0/+4
| | | | | | | Somehow I missed this method, which was then throwing an error when viewing routes as HTML. Make @rubys happy: ✔
* editorial tweaksXavier Noria2013-02-191-3/+6
|
* use strip_heredoc to keep indentation consistent.Steve Klabnik2013-02-181-12/+12
| | | | Thanks @sikachu. :heart:
* Add message when you have no routes defined.Steve Klabnik2013-02-181-0/+25
| | | | | | Print a message in both `rake routes` and at GET "/rails/info/routes" that lets you know you have no routes defined, as well as linking to the Rails Guide on the topic.
* Add headings to rake routes tableSteve Klabnik2013-02-181-3/+19
|
* the `:controller` option for routes can contain numbers. closes #9231.Yves Senn2013-02-091-1/+1
|
* ruby constant syntax is not supported as routing `:controller` option.Yves Senn2013-02-061-0/+6
| | | | | | | | | | The current implementation only works correctly if you supply the `:controller` with directory notation (eg. `:controller => 'admin/posts'`). The ruby constant notation (eg. `:controller => 'Admin::Posts`) leads to unexpected problems with `url_for`. This patch prints a warning for every non supported `:controller` option. I also added documentation how to work with namespaced controllers. The warning links to that documentation in the rails guide.
* Missing or unneeded require extract_optionsAkira Matsuda2013-02-013-0/+4
|
* remove dead codeAaron Patterson2013-01-301-4/+1
|
* change parameter name for positional argsAaron Patterson2013-01-301-2/+1
|
* nodoc the helper classes, cache stuff for optimized helperAaron Patterson2013-01-301-13/+17
|
* cache path parts in the instanceAaron Patterson2013-01-301-2/+3
|
* stop evaling a string every timeAaron Patterson2013-01-301-4/+4
|
* moving helper classes outside the private blockAaron Patterson2013-01-301-90/+88
|
* pushing specialization down to the optimized classAaron Patterson2013-01-301-23/+25
|
* use polymorphism to remove conditionalAaron Patterson2013-01-301-35/+27
|
* move conditionals to instanceAaron Patterson2013-01-301-6/+16
|
* pull stuff out of the caller and hide in the instanceAaron Patterson2013-01-301-4/+3
|
* moving more stuff on to the instanceAaron Patterson2013-01-301-18/+18
|
* move optimize_helper? to the helper instanceAaron Patterson2013-01-301-9/+12
|
* moving more stuff to the instanceAaron Patterson2013-01-301-6/+6
|
* moving some stuff to the initializerAaron Patterson2013-01-301-14/+38
|
* moved more evald codeAaron Patterson2013-01-301-8/+7
|
* factored out some of the dynamic codeAaron Patterson2013-01-301-19/+31
|
* use the helpers list rather than getting the methods from the moduleAaron Patterson2013-01-241-1/+1
|
* module_eval is not necessary hereAaron Patterson2013-01-241-3/+1
|
* don't need to eval everythingAaron Patterson2013-01-241-1/+1
|
* Duplicate possible frozen string from routeAndrew White2013-01-211-2/+3
| | | | | | | | | | | | | Ruby 1.9 freezes Hash string keys by default so where a route is defined like this: get 'search' => 'search' then the Mapper will derive the action from the key. This blows up later when the action is added to the parameters hash and the encoding is forced. Closes #3429
* In Browser Path Matching with Javascriptschneems2013-01-201-1/+22
| | | | | | | | | | | When debugging routes ,it can sometimes be difficult to understand exactly how the paths are matched. This PR adds a JS based path matching widget to the `/rails/info/routes` output. You can enter in a path, and it will tell you which of the routes that path matches, while preserving order (top match wins). The matching widget in action: ![](http://f.cl.ly/items/3A2F0v2m3m1Z1p3P3O3k/path-match.gif) Prior to this PR the only way to check matching paths is via mental math, or typing in a path in the url bar and seeing where it goes. This feature will be an invaluable debugging tool by dramatically decreasing the time needed to check a path match. ATP actionpack
* Fix syntax error :grin:Guillermo Iguaran2013-01-181-1/+1
|
* Remove "Application" section title from routesschneems2013-01-181-6/+13
| | | | | | | | | This PR standardizes the output of the HTML and console based routes to not include the title for "Application Routes" those that are defined by the application. Instead only routes defined in engines get any special treatment. Based on this conversation: https://github.com/rails/rails/commit/af5c0fd85fce1adb311083dd1ecf96432ee8caa3#commitcomment-2458823 ATP actionpack /cc @carlosantoniodasilva
* Change the behavior of route defaultsAndrew White2013-01-152-2/+9
| | | | | | | | | | | | | | | | | | | This commit changes route defaults so that explicit defaults are no longer required where the key is not part of the path. For example: resources :posts, bucket_type: 'posts' will be required whenever constructing the url from a hash such as a functional test or using url_for directly. However using the explicit form alters the behavior so it's not required: resources :projects, defaults: { bucket_type: 'projects' } This changes existing behavior slightly in that any routes which only differ in their defaults will match the first route rather than the closest match. Closes #8814
* Add support for other types of routing constraintsAndrew White2013-01-151-103/+149
| | | | | | | | | | | | | | This now allows the use of arrays like this: get '/foo/:action', to: 'foo', constraints: { subdomain: %w[www admin] } or constraints where the request method returns an Fixnum like this: get '/foo', to: 'foo#index', constraints: { port: 8080 } Note that this only applies to constraints on the request - path constraints still need to be specified as Regexps as the various constraints are compiled into a single Regexp.
* Raise correct exception now Journey is integrated.Andrew White2013-01-151-4/+2
| | | | | | | Now that Journey has been integrated into ActionDispatch we can raise the exception ActionController::UrlGenerationError directly rather than raising the internal Journey::Router::RoutingError and then have ActionDispatch::Routing::RouteSet#generate re-raise the exception.
* clearer conditional in constraint match checkGosha Arinich2013-01-101-3/+3
|
* Rename route_wrapper partial layout to tableCarlos Antonio da Silva2013-01-061-1/+1
| | | | | | It is used by the table formatter only, and it's already inside a routes directory that namespaces it properly, so calling it just "table" seems simpler.
* Move table routes formatter class to the inspector and rename itCarlos Antonio da Silva2013-01-061-0/+18
| | | | | | | It feels more consistent to have this class called "HtmlTableFormatter", and to have it here with the routes inspector and console formatter, since it's used for both routing error exceptions and the rails info page.
* Remove warning, remove not used variable, and make methods privateCarlos Antonio da Silva2013-01-051-3/+5
| | | | Warning: "shadowing outer local variable - routes".
* split formatting concerns from RoutesInspectorYves Senn2013-01-051-20/+42
|
* refactor Routing::MapperGosha Arinich2013-01-031-9/+4
|
* Fix usage of lambda as a Rack endpointJiri Pospisil2012-12-311-2/+2
| | | | The response body needs to respond_to? :each.