aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #17227 from claudiob/explicitly-abort-callbacksRafael Mendonça França2015-01-031-1/+1
|\ | | | | | | | | | | | | Introduce explicit way of halting callback chains by throwing :abort. Deprecate current implicit behavior of halting callback chains by returning `false` in apps ported to Rails 5.0. Completely remove that behavior in brand new Rails 5.0 apps. Conflicts: railties/CHANGELOG.md
| * Throw :abort halts default CallbackChainsclaudiob2015-01-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes arguments and default value of CallbackChain's :terminator option. After this commit, Chains of callbacks defined **without** an explicit `:terminator` option will be halted as soon as a `before_` callback throws `:abort`. Chains of callbacks defined **with** a `:terminator` option will maintain their existing behavior of halting as soon as a `before_` callback matches the terminator's expectation. For instance, ActiveModel's callbacks will still halt the chain when a `before_` callback returns `false`.
* | Fix a few typos [ci skip]Robin Dupret2015-01-032-3/+3
| |
* | Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-01-033-18/+24
|\ \
| * | Better docs for AbstractControllerclaudiob2014-12-223-18/+24
| | | | | | | | | | | | | | | | | | Fixes internal links, adds examples and set fixed-width fonts. [ci skip]
* | | Merge pull request #10380 from JonRowe/test_all_domain_2_letter_tldRafael Mendonça França2015-01-021-0/+7
|\ \ \ | |_|/ |/| | | | | Assert that 2 letter tlds with 3 letter domain names work when option specified.
| * | add test asserting that 2 letter tlds with 3 letter domain names work when ↵Jon Rowe2013-04-301-0/+7
| | | | | | | | | | | | option specified
* | | Merge pull request #8740 from amatsuda/missing_source_fileRafael Mendonça França2015-01-021-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | replace use of MissingSourceFile with LoadError Conflicts: activesupport/test/core_ext/load_error_test.rb
| * | | replace use of MissingSourceFile with LoadErrorAkira Matsuda2013-01-041-1/+1
| | | |
* | | | Merge pull request #17978 from kommen/fixed-pr-14903Rafael Mendonça França2015-01-023-4/+38
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure append_info_to_payload is called even if an exception is raised. Conflicts: actionpack/CHANGELOG.md
| * | | | Ensure append_info_to_payload is called even if an exception is raised.Dieter Komendera2014-12-103-4/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See: * https://github.com/rails/rails/pull/14903 * https://github.com/roidrage/lograge/issues/37 Some code by mxrguspxrt from #14903.
* | | | | Integration requests should work in contexts without setup and teardownbrainopia2015-01-022-1/+26
| | | | |
* | | | | Merge pull request #18271 from arunagw/change-copyright-yearRobin Dupret2015-01-013-3/+3
|\ \ \ \ \ | | | | | | | | | | | | Update copyright notices to 2015 [ci skip]
| * | | | | Update copyright notices to 2015 [ci skip]Arun Agrawal2014-12-313-3/+3
| | | | | |
* | | | | | Correctly use the response's status code calling headRobin Dupret2014-12-314-5/+23
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 20fece1 introduced the `_status_code` method to fix calls to `head :ok`. This method has been added on both ActionController::Metal and ActionDispatch::Response. As for the latter, this method is just equivalent to the `response_code` one so commit aefec3c removed it from the `Reponse` object so call to the `_status_code` method on an ActionController::Base instance would be handled by the `Metal` class (which `Base` inherits from) but the status code is not updated according to the response at this level. The fix is to actually rely on `response_code` for ActionController::Base instances but this method doesn't exist for bare Metal controllers so we need to define it.
* | | | | stop referencing `env` in url_forAaron Patterson2014-12-302-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | encapsulate env in the request so that we can eventually move away from the env hash
* | | | | use methods on the request rather than direct hash accessAaron Patterson2014-12-302-2/+10
| | | | | | | | | | | | | | | | | | | | this will help decouple us from using the rack env hash
* | | | | Remove single space response body for head requestPrathamesh Sonpatki2014-12-303-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - The single space response was added due to a bug in safari in https://github.com/rails/rails/commit/cb0f8fda9652c4d24d04693bdb82cecd3b067e5c and https://github.com/rails/rails/commit/807df4fcf021fc4d15972aa1c17ba7398d43ab0d. - This was removed from the `render nothing: true` in https://github.com/rails/rails/pull/14883. - Removing it from response of :head also. As :head is more obvious alternative to call `render nothing: true`(http://guides.rubyonrails.org/layouts_and_rendering.html#using-head-to-build-header-only-responses), removing it from head method also. - Closes #18253.
* | | | | Merge pull request #18251 from tjgrathwell/fix-polymorphic-routes-to-modelRafael Mendonça França2014-12-302-5/+10
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Fix form_for to work with objects that implement to_model
| * | | | | 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>
* | | | | Move longer form example from integration guide to api reference, below anZachary Scott2014-12-291-0/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | existing example. [ci skip] My reasoning is that this is probably too much information for the complete Rails testing guide, as we're trying to cover testing all aspects of the framework.
* | | | | Minor documentation edits [ci skip]Robin Dupret2014-12-281-1/+1
| | | | |
* | | | | Merge pull request #18209 from claudiob/bump-to-2-2Guillermo Iguaran2014-12-281-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Require Ruby 2.2 for Rails 5.0
| * | | | | Require Ruby 2.2 for Rails 5.0claudiob2014-12-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stems from [this comment](https://github.com/rails/rails/pull/18203#issuecomment-68138096) by @robin850 and by the blog post http://weblog.rubyonrails.org/2014/12/19/Rails-4-2-final
* | | | | | Update example test documentationBen Prew2014-12-281-4/+2
|/ / / / / | | | | | | | | | | Example does not work with session headers, should use request headers. [ci skip]
* | | | | Remove ActionController::ModelNamingclaudiob2014-12-252-16/+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.
* | | | | - Removed unused parameter to cookie serialize method and fixed usage of the ↵Vipul A M2014-12-241-4/+4
| | | | | | | | | | | | | | | | | | | | same elsewhere
* | | | | cleanup CHANGELOGs. [ci skip]Yves Senn2014-12-231-2/+2
| |_|_|/ |/| | |
* | | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2014-12-201-0/+109
|\ \ \ \
| * | | | Add docs for ActionDispatch::Http::URL methodsclaudiob2014-12-181-0/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add docs for `extract_domain`, `extract_subdomains`, `extract_subdomain`. Add doc examples for `url`, `protocol`, `raw_host_with_port`, `host`, `host_with_port`, `port`, `standard_port`, `standard_port?`, `optional_port`, `port_string`. [ci skip]
* | | | | Merge pull request #18102 from arthurnn/nodoc_constantArthur Nogueira Neves2014-12-191-0/+1
| | | | | | | | | | | | | | | | | | | | Add nodoc to some constants [skip ci]
* | | | | Use released rackGodfrey Chan2014-12-192-2/+2
| | | | | | | | | | | | | | | | | | | | `rack.version` was bumped in https://github.com/rack/rack/commit/28e77c710ac2ddb35c436d78d72e28f28f964446
* | | | | Revert "Merge pull request #18003 from ↵Godfrey Chan2014-12-191-11/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sikachu/permit_all_parameters-thread-safety" This reverts commit da5cc10e945552da54234f858470238a3fc36767. Fixes #18091 See also https://github.com/rails/rails/pull/18003#commitcomment-9030909
* | | | | Fix typo in nodoc should be `:nodoc:` for RDoc to parse correctlyZachary Scott2014-12-171-1/+1
| | | | |
* | | | | Merge pull request #17995 from ↵Rafael Mendonça França2014-12-162-0/+9
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | jethroo/fix/assert_template_with_unsupported_layout_type assert template should raise ArgumentError for unsupported layout types
| * | | | | adding that assert_template with :layout will raise ArgumentError for ↵Carsten Wirth2014-12-162-0/+9
| | |/ / / | |/| | | | | | | | | | | | | unknown layout type
* | | | | Merge pull request #18052 from timoschilling/reset_variantsRafael Mendonça França2014-12-162-1/+9
|\ \ \ \ \ | | | | | | | | | | | | allow reseting of request variants
| * | | | | allow reseting of request variantsTimo Schilling2014-12-162-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation of `variants=` don't allow a resetting to nil, wich is the default value. This results in the following code smell: ```ruby case request.user_agent when /iPhone/ request.variants = :phone when /iPad/ request.variants = :ipad end ``` With the ability to reset variants to nil, it could be: ```ruby request.variants = case request.user_agent when /iPhone/ :phone when /iPad/ :ipad end ```
* | | | | | Remove misleading test: around_action return falseclaudiob2014-12-151-19/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an `around_action` does not `yield`, then the corresponding action is *never* executed and the `after_` actions are *never* invoked. The value returned by the `around_action` does not have any impact on this: an `around_action` can "return" `true`, `false`, or `"pizza"`, but as long as `yield` is not invoked, the corresponding action and after callbacks are not executed. The test suite for `ActionController::Callbacks` currently includes separate tests to distinguish the cases in which a non-yielding `around_actions` returns `true` or `false`. In my opinion, having such tests is misleading, giving the impression that the returned value might have some sort of impact, while it does not. At least that's the impression I got when I read those tests. For completeness, the tests were introduced 7 years ago by @NZKoz in e80fabb.
* | / / / Don't convert empty arrays to nils when deep munging paramsChris Sinjakli2014-12-155-17/+15
| |/ / / |/| | |
* | | | Merge pull request #18022 from agrobbin/url-helpers-optional-scopesSantiago Pastorino2014-12-133-1/+17
|\ \ \ \ | | | | | | | | | | Allow URL helpers to work with optional scopes
| * | | | allow URL helpers to work with optional scopesAlex Robbin2014-12-133-1/+17
| | | | |
* | | | | ParameterFilter shouldn't try to dup symbol keysNate Berkopec2014-12-132-3/+3
|/ / / /
* | | | Fix handling of positional url helper arguments when format is falseTatiana Soukiassian2014-12-133-2/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to subtract one from the path_params size when there is no format parameter because it is not present in the path_params array. Fixes #17819.
* | | | Merge pull request #18006 from sikachu/add-params-to_unsafe_hRafael Mendonça França2014-12-122-0/+12
|\ \ \ \ | | | | | | | | | | Add AC::Parameters#to_unsafe_h
| * | | | Add AC::Parameters#to_unsafe_hPrem Sichanugrist2014-12-122-0/+12
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As suggested in #16299([1]), this method should be a new public API for retrieving unfiltered parameters from `ActionController::Parameters` object, given that `Parameters#to_hash` will no longer work in Rails 5.0+ as we stop inheriting `Parameters` from `Hash`. [1]: https://github.com/rails/rails/pull/16299#issuecomment-50220919
* / / / Make AC::Params.permit_all_parameters thread safePrem Sichanugrist2014-12-121-1/+10
|/ / / | | | | | | | | | | | | | | | | | | As discussed in #16299[1], this attribute is not thread safe and could potentially create a security issue. [1]: https://github.com/rails/rails/pull/16299#discussion_r15424533
* | | 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-062-14/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | remove unused `#optional_parts`Sergey Alekseev2014-12-051-4/+0
| | | | | | | | | | | | | | | This method was copied from journey at https://github.com/rails/rails/commit/56fee39c392788314c44a575b3fd66e16a50c8b5#diff-2cfaf53c860732fea8689d6f2002594bR78. `grep -nr 'optional_parts' .`