aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/test/dispatch/routing
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #23103 from rails/refactor-handling-of-action-defaultJeremy Daer2016-04-241-1/+1
|\ | | | | | | Refactor handling of :action default in routing
| * Refactor handling of :action default in routingAndrew White2016-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The longstanding convention in Rails is that if the :action parameter is missing or nil then it defaults to 'index'. Up until Rails 5.0.0.beta1 this was handled slightly differently than other routing defaults by deleting it from the route options and adding it to the recall parameters. With the recent focus of removing unnecessary duplications this has exposed a problem in this strategy - we are now mutating the request's path parameters and causing problems for later url generation. This will typically affect url_for rather a named url helper since the latter explicitly pass :controller, :action, etc. The fix is to add a default for :action in the route class if the path contains an :action segment and no default is passed. This change also revealed an issue with the parameterized part expiry in that it doesn't follow a right to left order - as soon as a dynamic segment is required then all other segments become required. Fixes #23019.
* | [ci skip] Use rails routes instead of rake routes in inspector test descriptionAbhishek Jain2016-03-021-9/+9
| |
* | Deprecate :controller and :action path parametersAndrew White2016-03-011-4/+12
| | | | | | | | | | | | | | | | Allowing :controller and :action values to be specified via the path in config/routes.rb has been an underlying cause of a number of issues in Rails that have resulted in security releases. In light of this it's better that controllers and actions are explicitly whitelisted rather than trying to blacklist or sanitize 'bad' values.
* | Add `internal` attribute to routesJon Moss2016-02-221-0/+23
|/ | | | | | | | | | | | | | This is meant to provide a way for Action Cable, Sprockets, and possibly other Rack applications to mark themselves as internal, and to exclude themselves from the routing inspector, and thus `rails routes` / `rake routes`. I think this is the only way to have mounted Rack apps be marked as internal, within AD/Journey. Another option would be to create an array of regexes for internal apps, and then to iterate over that everytime a request comes through. Also, I only had the first `add_route` method set `internal`'s default to false, to avoid littering it all over the codebase.
* Add options for rake routes taskVipul A M2016-02-021-7/+27
| | | | | | | | | | Add two options: `-c` and `-g`. `-g` option returns the urls name, verb and path fields that match the pattern. `-c` option returns the urls for specific controller. Fixes #18902, and Fixes #20420 [Anton Davydov & Vipul A M]
* Better error message when running `rake routes` with CONTROLLER arg:Edouard CHIN2016-01-071-0/+38
| | | | | | | - `CONTROLLER` argument can now be supplied in different ways (Rails::WelcomeController, Rails::Welcome, rails/welcome) - If `CONTROLLER` argument was supplied but it does not exist, will warn the user that this controller does not exist - If `CONTROLLER` argument was supplied and no routes could be found matching this filter, will warn the user that no routes were found matching the supplied filter - If no routes were defined in the config/routes.rb file, will warn the user with the original message
* Remove skipped JRuby tests that are passing on 9.0.3.0.Guo Xiang Tan2015-10-271-2/+0
|
* Change `Journey::Route#verb` to return string instead of regexp.yui-knk2015-10-031-0/+11
| | | | | | | | | By [this commit](https://github.com/rails/rails/commit/0b476de445faf330c58255e2ec3eea0f3a7c1bfc) `Journey::Route#verb` need not to return verb as regexp. The returned value is used by inspector, so change it to be a string. Add inspect_with_multiple_verbs test case to keep the behavior of inspector correctly.
* Merge pull request #19788 from cmdrclueless/actionpack_http_url_ipv6Rafael Mendonça França2015-09-011-0/+45
|\ | | | | Fix broken IPv6 addresses handling
| * Fix broken IPv6 addresses handlingBrian Weaver2015-04-161-0/+45
| |
* | Get rid of mocha tests - part 2Marcin Olichwirowicz2015-08-251-9/+0
| |
* | Skip a few failing tests on JRuby with the attached ticketsRobin Dupret2015-07-171-0/+2
| |
* | Prefer assert_not over refuteRafael Mendonça França2015-05-181-1/+1
| |
* | ActionDispatch::Journey::Routes#empty? test casesValentine Valyaeff2015-05-191-0/+14
| |
* | Fix rake routes for api appsJorge Bejar2015-04-251-0/+16
|/ | | | Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
* Change filter on /rails/info/routes to use an actual path regexp from railsbrainopia2015-02-231-8/+0
| | | | | | | | Change filter on /rails/info/routes to use an actual path regexp from rails and not approximate javascript version. Oniguruma supports much more extensive list of features than javascript regexp engine. Fixes #18402.
* Remove deprecated usage of string keys in URL helpersRafael Mendonça França2015-01-041-20/+0
|
* Remove deprecated `only_path` option on `*_path` helpersRafael Mendonça França2015-01-041-44/+0
|
* allow URL helpers to work with optional scopesAlex Robbin2014-12-131-0/+12
|
* Mounted Rack apps should have default named routes based on app nameT.J. Schuck2014-12-061-11/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a regression in 4.2.0 from 4.1.8. https://github.com/rails/rails/pull/17823 fixed a similar regression regarding _explicitly_ named routes for a mounted Rack app, but there was another regression for the default value. With a route like: Rails.application.routes.draw do mount Mountable::Web, at: 'some_route' end The "Prefix" column of rake routes gives the following: - 4.1.8: mountable_web - 4.2.0.beta1-4: [nothing] - 4.2.0.rc1: [nothing] - 4.2.0.rc2: some_route <- regression This fixes the default to go back to being based off the name of the class like the docs specify: https://github.com/rails/rails/blob/785d04e3109f69d0b9b9f4732179592f0ef04e52/actionpack/lib/action_dispatch/routing/mapper.rb#L558-L560 Explicitly named routes still work correctly per https://github.com/rails/rails/pull/17823: Rails.application.routes.draw do mount Mountable::Web, at: 'some_route', as: 'named' end - 4.1.8: named - 4.2.0.beta1-4: [nothing] - 4.2.0.rc1: [nothing] - 4.2.0.rc2: named
* Pure rack apps can be mounted with a nameJean Boussier2014-11-291-1/+1
| | | | See https://github.com/rails/rails/commit/9b15828b5c347395b42066a588c88e5eb4e72279#commitcomment-8764492
* Deprecate string options in URL helpersMelanie Gilman2014-11-241-0/+20
| | | | | | Fixes https://github.com/rails/rails/issues/16958 [Byron Bischoff & Melanie Gilman]
* Deprecate the `only_path` option on `*_path` helpers.Godfrey Chan2014-10-281-0/+80
| | | | | | | | | | | | In cases where this option is set to `true`, the option is redundant and can be safely removed; otherwise, the corresponding `*_url` helper should be used instead. Fixes #17294. See also #17363. [Dan Olson, Godfrey Chan]
* Revert "Merge pull request #16966 from why-el/symbolize-path-params"Rafael Mendonça França2014-09-251-8/+0
| | | | | | | | This reverts commit 9d05d6de52871e57bfbf54a60de005e8a5f5b0e4, reversing changes made to 0863c9248fd47a15e88e05ce4fcd80966684c0e3. The change in the behaviour reported at #16958 doesn't exist since 4.0 and 4.1 works in the same way
* Ensure named path params are symbols (Fixes #16958)Mohamed Wael Khobalatte2014-09-251-0/+8
|
* always test against a routed rack app so there are always url_helpersAaron Patterson2014-07-071-1/+2
|
* Remove unused method in RouteSet test.Guo Xiang Tan2014-05-151-4/+0
|
* Transform dashes to underscores in resource route namesByron Bischoff2014-01-251-3/+13
| | | | Fixes #13824
* Fix `rake routes` error when `Rails::Engine` with empty routes is mounted; ↵Maurizio De Santis2014-01-241-0/+21
| | | | | | fixes rails/rails#13810 Squash
* Tidy up tests and CHANGELOG for #12598Andrew White2014-01-202-5/+14
|
* Automatically convert dashes to underscores for url helpersAmr Tamimi2014-01-202-1/+5
|
* Show routes defined under assets prefixRyunosuke SATO2013-12-191-0/+12
| | | | Closes #9625
* Build fix for Routing InspectorArun Agrawal2013-11-221-2/+2
| | | | | | Broken by 6701b4cf41f6f3d9cfc6a93715acbf852d1e468e
* Fix for routes taskSıtkı Bağdat2013-11-211-16/+16
| | | | This commit fixes formatting issue for `rake routes` task, when a section is shorter than a header.
* `RoutesInspector` deals with routes using regexp as `:controller` optionYves Senn2013-05-301-0/+9
|
* Fix named routing regression from 3.2.13schneems2013-05-161-0/+11
| | | | | | | | | | | | | | | | | | | | | | When named route that is nested is used in 3.2.13 Example `routes.rb`: ``` resources :nested do resources :builder, :controller => 'nested/builder' end ``` In 3.2.12 and 3.2.12 this named route would work: ``` nested_builder_path(:last_step, :nested_id => "foo") ``` Generating a url that looks like `/nested/foo/builder/last_step`. This PR fixes the regression when building urls via the optimized helper. Any explicit keys set in the options are removed from the list of implicitly mapped keys. Not sure if this is exactly how the original version worked, but this fixes this use case regression.
* Fix AP tests related to routes inspector output and the new column titlesCarlos Antonio da Silva2013-02-191-20/+65
|
* In Browser Path Matching with Javascriptschneems2013-01-201-0/+8
| | | | | | | | | | | 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
* Needless requiresAkira Matsuda2013-01-061-2/+0
|
* Missing requiresAkira Matsuda2013-01-061-0/+1
|
* split formatting concerns from RoutesInspectorYves Senn2013-01-051-4/+21
|
* Add active_support/testing/autorunRafael Mendonça França2012-12-311-1/+1
| | | | | minitest/autorun load minitest/spec polluting the global namespace with the DSL that we don't want on Rails
* Clear url helper methods when routes are reloadedAndrew White2012-12-141-0/+86
| | | | | Remove all the old url helper methods when clear! is called on the route set because it's possible that some routes have been removed.
* fixing most tests on Ruby 2.0Aaron Patterson2012-09-251-2/+2
|
* Make enhanced routing Concerns more tell-don't-askErnie Miller2012-09-031-12/+15
|
* Fix concerns not executing block in mapperErnie Miller2012-09-031-0/+10
| | | | Also, add documentation for alternate usage.
* Allow routing concerns to accept a callableErnie Miller2012-09-031-2/+26
| | | | | | This allows us to make alterations to the generated routes based on the scope of the current mapper, and otherwise allows us to move larger blocks of concerns out of the routes file, altogether.
* Extract common controllers to abstract_unitRafael Mendonça França2012-08-131-16/+4
|
* Implementing Routing ConcernsRafael Mendonça França2012-08-131-0/+94
| | | | | | | This pattern was introduced as a plugin by @dhh. The original implementation can be found in https://github.com/rails/routing_concerns