aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing/polymorphic_routes.rb
Commit message (Collapse)AuthorAgeFilesLines
* Enable `Layout/EmptyLinesAroundAccessModifier` copRyuta Kamizono2019-06-131-2/+0
| | | | | | | | | | | We sometimes say "✂️ newline after `private`" in a code review (e.g. https://github.com/rails/rails/pull/18546#discussion_r23188776, https://github.com/rails/rails/pull/34832#discussion_r244847195). Now `Layout/EmptyLinesAroundAccessModifier` cop have new enforced style `EnforcedStyle: only_before` (https://github.com/rubocop-hq/rubocop/pull/7059). That cop and enforced style will reduce the our code review cost.
* Add `Style/RedundantFreeze` to remove redudant `.freeze`Yasuo Honda2018-09-291-2/+2
| | | | | | | | | | | | | | | | | | | | | Since Rails 6.0 will support Ruby 2.4.1 or higher `# frozen_string_literal: true` magic comment is enough to make string object frozen. This magic comment is enabled by `Style/FrozenStringLiteralComment` cop. * Exclude these files not to auto correct false positive `Regexp#freeze` - 'actionpack/lib/action_dispatch/journey/router/utils.rb' - 'activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb' It has been fixed by https://github.com/rubocop-hq/rubocop/pull/6333 Once the newer version of RuboCop released and available at Code Climate these exclude entries should be removed. * Replace `String#freeze` with `String#-@` manually if explicit frozen string objects are required - 'actionpack/test/controller/test_case_test.rb' - 'activemodel/test/cases/type/string_test.rb' - 'activesupport/lib/active_support/core_ext/string/strip.rb' - 'activesupport/test/core_ext/string_ext_test.rb' - 'railties/test/generators/actions_test.rb'
* Change doc for "polymorphic_path" in polymorphic_routes.rbMahmoud2018-03-091-2/+1
| | | | | The method 'polymorphic_path' is not using 'polymorphic_url' with `routing_type: :path` anymore in polymorphic_routes.rb
* Use frozen string literal in actionpack/Kir Shatrov2017-07-291-0/+2
|
* Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-021-1/+0
| | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
* Enforce frozen string in RubocopKir Shatrov2017-07-011-0/+1
|
* Add support for calling nested direct routes (#28462)Andrew White2017-03-171-4/+4
| | | | | | | | | | | | | | | | | | | | Not all requirements can be expressed in terms of polymorphic url options so add a `route_for` method that allows calling another direct route (or regular named route) which a set of arguments, e.g: resources :buckets direct :recordable do |recording| route_for(:bucket, recording.bucket) end direct :threadable do |threadable| route_for(:recordable, threadable.parent) end This maintains the context of the original caller, e.g. threadable_path(threadable) # => /buckets/1 threadable_url(threadable) # => http://example.com/buckets/1
* Push option extract into call methodAndrew White2017-02-211-3/+3
|
* Support mapping of non-model classesAndrew White2017-02-211-3/+10
|
* Add custom polymorphic mappingAndrew White2017-02-211-3/+24
| | | | | | | | | | | | | | | | Allow the use of `direct` to specify custom mappings for polymorphic_url, e.g: resource :basket direct(class: "Basket") { [:basket] } This will then generate the following: >> link_to "Basket", @basket => <a href="/basket">Basket</a> More importantly it will generate the correct url when used with `form_for`. Fixes #1769.
* Add more rubocop rules about whitespacesRafael Mendonça França2016-10-291-3/+3
|
* revises more Lint/EndAlignment offensesXavier Noria2016-08-081-3/+3
|
* Add `Style/EmptyLines` in `.rubocop.yml` and remove extra empty linesRyuta Kamizono2016-08-071-2/+0
|
* normalizes indentation and whitespace across the projectXavier Noria2016-08-061-132/+132
|
* modernizes hash syntax in actionpackXavier Noria2016-08-061-2/+2
|
* applies new string literal convention in actionpack/libXavier Noria2016-08-061-7/+7
| | | | | The current code base is not uniform. After some discussion, we have chosen to go with double quotes by default.
* [ci skip] Fix typo & add link in PolymorphicRoutesAlex Kitchens2016-06-291-2/+2
|
* refactor `handle_model` to use private helper methods for generationAaron Patterson2015-03-011-8/+6
|
* drop allocations for string and class polymorphic routesAaron Patterson2015-03-011-3/+3
|
* drop allocations when handling model url generationAaron Patterson2015-02-281-1/+1
|
* Fix form_for to work with objects that implement to_modelTravis Grathwell2014-12-291-5/+6
| | | | | | | | | | | | | Previously, if you tried to use form_for with a presenter object that implements to_model, it would crash in action_dispatch/routing/polymorphic_routes.rb when asking the presenter whether it is .persisted? Now, we always ask .persisted? of the to_model object instead. This seems to been an issue since 1606fc9d840da869a60213bc889da6fcf1fdc431 Signed-off-by: Eugenia Dellapenna <eugenia.dellapenna@gmail.com>
* Remove ActionController::ModelNamingclaudiob2014-12-251-4/+0
| | | | | | | | | | | | | | The methods in these modules are not used anywhere. They used to be invoked in polymorphic_routes.rb but their usage was removed in e821045. What is your opinion about removing these methods? They do belong to the public API, but in reality their code has already been duplicated to ActionView::ModelNaming, since they are used by methods like `dom_id` and `dom_class` to associated records with DOM elements (in ActionView). Please tell me if you think that removing this module is a good idea and, in that case, if the PR is okay as it is, or you'd rather start by showing a deprecation message, and remove the module in Rails 5.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
* 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
* | extract methods and metaprogram less.Aaron Patterson2014-08-141-11/+16
|/
* Simplify merge call on polymorphic helpersCarlos Antonio da Silva2014-05-131-2/+2
|
* use the helper method builder to construct helper methodsAaron Patterson2014-05-121-56/+107
|
* undo optimized calls until the builder object is finishedAaron Patterson2014-05-121-36/+19
|
* remove suffix from the handler methodsAaron Patterson2014-05-121-20/+19
|
* push list handling to the builder objectAaron Patterson2014-05-121-30/+30
|
* push string handling to the builder objectAaron Patterson2014-05-121-10/+8
|
* push model and class handling to a helper builder objectAaron Patterson2014-05-121-36/+48
|
* adding a method to handle strings using the same apiAaron Patterson2014-05-121-22/+32
|
* break each polymorphic type to it's own methodAaron Patterson2014-05-121-24/+81
|
* remove dead codeAaron Patterson2014-05-121-12/+0
|
* only test `persisted?` on the record onceAaron Patterson2014-05-121-3/+7
| | | | | also avoid the case of calling `persisted?` on something that doesn't respond to it
* only send options if there are any optionsAaron Patterson2014-05-121-5/+7
|
* remove should_pop variableAaron Patterson2014-05-121-4/+1
|
* only pop records when we get an arrayAaron Patterson2014-05-121-6/+7
|
* remove unnecessary array allocationsCoraline Ada Ehmke + Aaron Patterson2014-05-121-5/+1
|
* simplified route method name generationCoraline Ada Ehmke + Aaron Patterson2014-05-121-27/+17
|
* small refactoringCoraline Ada Ehmke + Aaron Patterson2014-05-121-6/+2
|
* pulling helpermethods up before refactoringCoraline Ada Ehmke + Aaron Patterson2014-05-121-20/+46
|
* push all is_a tests up, always pass options to the named routeAaron Patterson2014-05-121-28/+27
|
* pull nil checks upAaron Patterson2014-05-121-3/+5
|
* skip another Array is_a checkAaron Patterson2014-05-121-4/+6
|
* only do the Array is_a check onceAaron Patterson2014-05-121-4/+3
|