aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix typo in actionpack/lib/action_dispatch/routing/mapper.rbYuutetu2014-10-161-1/+1
|
* Revert "Merge pull request #16966 from why-el/symbolize-path-params"Rafael Mendonça França2014-09-251-1/+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/+1
|
* Keep the original implementation to not having to allocate new objectsRafael Mendonça França2014-09-251-2/+15
|
* Remove internal options from query string of pathsGert Goet2014-09-251-18/+3
| | | | Fixes #17057
* Allow polymorphic routes with nil when a route can still be drawnSammy Larbi2014-08-311-1/+2
| | | | | | | | | | | | | | | | Suppose you have two resources routed in the following manner: ```ruby resources :blogs do resources :posts end resources :posts ``` When using polymorphic resource routing like `url_for([@blog, @post])`, and `@blog` is `nil` Rails should still try to match the route to the top-level posts resource. Fixes #16754
* 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
* Merge pull request #15889 from carnesmedia/model-nameRafael Mendonça França2014-08-171-5/+5
|\ | | | | | | Use #model_name on instances instead of classes
| * Use #model_name on instances instead of classesAmiel Martin2014-06-241-5/+5
| | | | | | | | | | | | This allows rails code to be more confdent when asking for a model name, instead of having to ask for the class. Rails core discussion here: https://groups.google.com/forum/#!topic/rubyonrails-core/ThSaXw9y1F8
* | Deprecate NamedRouteCollection#helpers.Lucas Mazza2014-08-171-0/+5
| | | | | | | | | | | | This method was removed at 210b338db20b1cdd0684f40bd78b52ed16148b99 but it is used by third party gems to check if a named route was defined. To help on the upgrade path on 4.2.0 we bring it back and emit a deprecation warning.
* | extract methods and metaprogram less.Aaron Patterson2014-08-141-11/+16
| |
* | 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
* | avoid testing only_pathAaron Patterson2014-08-041-0/+4
| | | | | | | | | | we know that this call only wants the path returned, so lets call a method that returns the path.
* | always return a string from find_script_nameAaron Patterson2014-08-012-7/+9
| | | | | | | | 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-312-1/+5
| | | | | | | | hash lookup should be faster than searching an array.
* | remove useless deupAaron Patterson2014-07-301-1/+1
| | | | | | | | | | every call to default_resources_path_names allocates a new hash, no need to dup
* | 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 alias_method_chainAaron Patterson2014-07-301-4/+2
| | | | | | | | we can `super` in to the previous implementation.
* | avoid instrospection on the moduleAaron Patterson2014-07-301-1/+2
| | | | | | | | | | we already know what helpers are path helpers, so just iterate through that list and define the helpers with warnings
* | fix variable nameAaron Patterson2014-07-301-3/+3
| |
* | split path_helpers and url_helpersAaron Patterson2014-07-301-18/+25
| | | | | | | | | | this lets us avoid hard coding a regexp for separating path and url helpers in the clear! method.
* | `add` will remove the method if it exists alreadyAaron Patterson2014-07-301-1/+0
| |
* | Deprecate `*_path` methods in mailers@schneems and @sgrif2014-07-301-48/+72
| | | | | | | | | | | | | | | | | | | | | | Email does not support relative links since there is no implicit host. Therefore all links inside of emails must be fully qualified URLs. All path helpers are now deprecated. When removed, the error will give early indication to developers to use `*_url` methods instead. Currently if a developer uses a `*_path` helper, their tests and `mail_view` will not catch the mistake. The only way to see the error is by sending emails in production. Preventing sending out emails with non-working path's is the desired end goal of this PR. Currently path helpers are mixed-in to controllers (the ActionMailer::Base acts as a controller). All `*_url` and `*_path` helpers are made available through the same module. This PR separates this behavior into two modules so we can extend the `*_path` methods to add a Deprecation to them. Once deprecated we can use this same area to raise a NoMethodError and add an informative message directing the developer to use `*_url` instead. The module with warnings is only mixed in when a controller returns false from the newly added `supports_relative_path?`. Paired @sgrif & @schneems
* | oops! :bomb:Aaron Patterson2014-07-291-1/+1
| | | | | | | | use helpers.include? so we don't get any false positives
* | ask the named routes collection if the route is definedAaron Patterson2014-07-291-0/+4
| | | | | | | | | | we should not be accessing internals to figure out if a method is defined.
* | helpers should be a Set so it doesn't grow unboundedAaron Patterson2014-07-291-4/+12
| | | | | | | | | | since helpers is a set, we can be confident about when to remove methods from the module.
* | pass the module to define_named_route_methodsAaron Patterson2014-07-291-7/+7
| | | | | | | | after this, we can disconnect @module from the instance
* | only ask for the routes module onceAaron Patterson2014-07-291-2/+4
| | | | | | | | we can cache the module on the stack, then reuse it
* | eval_block should be privateAaron Patterson2014-07-291-0/+1
| |
* | remove the mounted? methodAaron Patterson2014-07-282-6/+2
| | | | | | | | | | we know the routes should not be "optimized" when mounting an application
* | remove some cachingAaron Patterson2014-07-281-2/+1
| | | | | | | | | | this caching doesn't increase performance, but does increase complexity. remove it for now and find better ways to speed up this code.
* | pass the route name to define_url_helperAaron Patterson2014-07-172-22/+24
| | | | | | | | | | this allows us to avoid 2 hash allocations per named helper definition, also we can avoid a `merge` and `delete`.
* | use a strategy object for generating urls in named helpersAaron Patterson2014-07-171-13/+24
| | | | | | | | | | | | since we know that the route should be a path or fully qualified, we can pass a strategy object that handles generation. This allows us to eliminate an "if only_path" branch when generating urls.
* | we do not need to dup the options hash, it is private and a new object each callAaron Patterson2014-07-161-2/+2
| |
* | 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.
* | app should always be a class (I suppose)Aaron Patterson2014-07-161-1/+1
| |