aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing/mapper.rb
Commit message (Collapse)AuthorAgeFilesLines
* remove `@nesting` ivarAaron Patterson2015-08-101-9/+21
| | | | | The same information is stored in the `@scope` linked list, so just get it from there.
* pass `shallow` in to the resource constructorAaron Patterson2015-08-101-10/+5
| | | | this lets us remove the setter and make the Resource object Read-Only
* we have the resource on the stack, so just use itAaron Patterson2015-08-101-1/+1
| | | | | We don't need to ask `scope` for the resource because we already have it right here.
* Name the argument according with its jobRafael Mendonça França2015-08-091-2/+2
| | | | Related with dc1b937db780155089fce522f03d340e62f5df36
* push `scope` calls up one frameAaron Patterson2015-08-091-5/+13
| | | | | | eliminates calling `scope` in one method, pushes the other calls up one frame. This goes a little way towards eliminating the internal calls to `scope`.
* remove useless hashAaron Patterson2015-08-081-2/+2
| | | | we don't really need this hash.
* stop calling `scope` internallyAaron Patterson2015-08-081-7/+23
| | | | | | | we need to get a grip on what `scope` actually does. This commit removes some of the internal calls to `scope`. Eventually we should add public facing methods that provide the API that `scope` is trying to accomplish.
* Remove `defaults` hash from `Dispatcher`Aaron Patterson2015-08-081-2/+2
| | | | | | | `Dispatcher` doesn't need to hold on to the defaults hash. It only used the hash to determine whether or not it should raise an exception if there is a name error. We can pass that in further up the stack and alleviate Dispatcher from knowing about that hash.
* eliminate runtime conditionalAaron Patterson2015-08-081-10/+9
| | | | | | We know in advance whether the object is a dispatcher or not, so we can configure the Constraints object with a strategy that will call the right method.
* remove the setter from `Scope`Aaron Patterson2015-08-081-4/+0
| | | | it isn't used.
* [ci skip]yui-knk2015-08-011-0/+15
| | | | | | | | | | | Add descriptions about `ActiveRecord::Base#to_param` to * `ActionDispatch::Routing::Base#match` * Overriding Named Route Parameters (guide) When passes `:param` to route definision, always `to_param` method of related model is overridden to constructe an URL by passing these model instance to named_helper.
* Remove unnecessary `dup` from Mapper `add_route`Roque Pinel2015-07-011-1/+1
| | | | | | | The `dup` was introduced by c4106d0c08954b0761726e0015ec601b7bc7ea4b to work around a frozen key. Nowadays, the string is already being duplicated by the `tr` in `options[:action] ||= action.tr('-', '_')` and later joined into a new string in `name_for_action`.
* Routes resources avoid :new and :edit endpoints if api_only is enabledJorge Bejar2015-06-111-6/+19
|
* match method doc fix [ci skip]Mehmet Emin İNAÇ2015-05-301-3/+6
| | | | | | match method without setting `:via` option has been deprecated fix minor typo
* [ci skip] match without via is now deprecatedYoong Kang Lim2015-05-301-1/+1
|
* Use ruby 1.9 lambda syntax in documentations [ci skip]Mehmet Emin İNAÇ2015-05-031-3/+3
|
* Merge pull request #19700 from tancnle/trivial-shallow-nesting-depth-countRafael Mendonça França2015-04-081-1/+1
|\ | | | | A shorter and more concise version of select..size
| * A shorter and more concise version of select..sizeTan Le2015-04-091-1/+1
| |
* | Improve shorthand matching for routesbrainopia2015-01-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Shorthand route match is when controller and action are taken literally from path. E.g. get '/foo/bar' # => will use 'foo#bar' as endpoint get '/foo/bar/baz' # => will use 'foo/bar#baz' as endpoint Not any path with level two or more of nesting can be used as shortcut. If path contains any characters outside of /[\w-]/ then it can't be used as such. This commit ensures that invalid shortcuts aren't used. ':controller/:action/postfix' - is an example of invalid shortcut that was previosly matched and led to exception: "ArgumentError - ':controller/:action' is not a supported controller name"
* | Fix name_for_action in routingrono232015-01-191-2/+3
| |
* | Remove unneeded requiresRafael Mendonça França2015-01-041-1/+0
| | | | | | | | These requires were added only to change deprecation message
* | Remove deprecated support to define routes with `:to` option thatRafael Mendonça França2015-01-041-17/+2
| | | | | | | | doesn't contain `#`
* | Only check that it is a Rails application onceRafael Mendonça França2014-12-081-5/+7
| | | | | | | | Also avoid using try since is_a? is faster for this case.
* | Mounted Rack apps should have default named routes based on app nameT.J. Schuck2014-12-061-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-7/+1
| | | | | | | | See https://github.com/rails/rails/commit/9b15828b5c347395b42066a588c88e5eb4e72279#commitcomment-8764492
* | Refactor nested ifBruno Sutic2014-11-261-5/+3
| |
* | Wrap code snippets in +, not backticks, in sdocclaudiob2014-11-201-3/+3
| | | | | | | | [ci skip]
* | edit pass over all warningsXavier Noria2014-10-281-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch uniformizes warning messages. I used the most common style already present in the code base: * Capitalize the first word. * End the message with a full stop. * "Rails 5" instead of "Rails 5.0". * Backticks for method names and inline code. Also, converted a few long strings into the new heredoc convention.
* | Fix typo in actionpack/lib/action_dispatch/routing/mapper.rbYuutetu2014-10-161-1/+1
| |
* | Don't ignore constraints in redirect routesAgis-2014-08-251-2/+0
| | | | | | | | | | | | | | | | https://github.com/rails/rails/commit/402c2af55053c2f29319091ad21fd6fa6b90ee89 introduced a regression that caused any constraints added to redirect routes to be ignored. Fixes #16605
* | ask the scope object if it is a resource_method_scopeAaron Patterson2014-08-131-10/+13
| |
* | ask the scope for the action nameAaron Patterson2014-08-131-14/+18
| |
* | reduce calls to scope_levelAaron Patterson2014-08-131-1/+5
| | | | | | | | | | this will help us to encapsulate magical symbols so hopefully we can eliminate hardcoded magic symbols
* | change to attr_readerAaron Patterson2014-08-131-5/+1
| |
* | scope_level is no longer a hash key, just use the ivarAaron Patterson2014-08-131-4/+9
| |
* | move the scope level key fully inside the scope objectAaron Patterson2014-08-131-1/+5
| |
* | move scope_level to a method on the scope objectAaron Patterson2014-08-131-7/+20
| | | | | | | | now we don't have to have a hard coded key
* | only look up scope level onceAaron Patterson2014-08-131-6/+7
| | | | | | | | avoid hash lookups and remove depency on the instance
* | only test `prefix` onceAaron Patterson2014-08-131-2/+4
| | | | | | | | we don't need to repeat if statements
* | pass consistent parameters to canonical_action?Aaron Patterson2014-08-131-5/+5
| | | | | | | | | | now we only have to look up @scope[:scope_level] once per call to canonical_action? and we don't have a variable named "flag"
* | fewer operations on the options hashAaron Patterson2014-08-131-10/+10
| | | | | | | | | | since we pass `as` down, then we won't have to do an insert / delete dance with the options hash
* | always return a string from find_script_nameAaron Patterson2014-08-011-5/+7
| | | | | | | | this allows us to avoid nil checks on the return value
* | use `get` instead of accessing the named routes internalsAaron Patterson2014-07-311-1/+1
| |
* | invert check so we fail fasterAaron Patterson2014-07-311-1/+1
| | | | | | | | | | there's no reason to to_sym the string if it doesn't match the regexp anyway
* | do a hash lookup for collision detectionAaron Patterson2014-07-311-1/+1
| | | | | | | | hash lookup should be faster than searching an array.
* | push options inside the scope objectAaron Patterson2014-07-301-4/+9
| |
* | turn scope in to a linked listAaron Patterson2014-07-301-15/+36
| | | | | | | | this makes scope rollback much easier
* | remove the mounted? methodAaron Patterson2014-07-281-1/+1
| | | | | | | | | | we know the routes should not be "optimized" when mounting an application
* | push rails app testing upAaron Patterson2014-07-161-9/+13
| | | | | | | | this way we only have to test for whether it is a rails app once.
* | Rails-ish apps should descend from Rails::RailtieAaron Patterson2014-07-161-8/+3
| | | | | | | | | | Use an is_a check to ensure it's a Railsish app so we can avoid respond_to calls everywhere.