aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
Commit message (Collapse)AuthorAgeFilesLines
* Try only to decode stringsRafael Mendonça França2015-02-181-2/+4
| | | | | This approach will avoid us to check for NoMethodError when trying to decode
* Merge pull request #18917 from lautis/non-string-csrf-tokenRafael Mendonça França2015-02-181-1/+1
|\ | | | | | | Handle non-string authenticity tokens
| * Handle non-string authenticity tokensVille Lautanala2015-02-121-1/+1
| | | | | | | | Non-string authenticity tokens raised NoMethodError when decoding the masked token.
* | Tiny documentation edits [ci skip]Robin Dupret2015-02-151-3/+3
| |
* | Implement http_cache_forever to ActionControllerArthur Neves2015-02-151-0/+18
|/ | | | | | | | | Add http_cache_forever to ActionController, so we can cache results forever. Things like static pages are a good candidate for this type of caching. This cache only controls caching headers, so it is up to the browser to cache those requests.
* Accept a collection in fresh_when and stale?claudiob2015-02-101-10/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The methods `fresh_when` and `stale?` from ActionController::ConditionalGet accept a single record as a short form for a hash. For instance ```ruby def show @article = Article.find(params[:id]) fresh_when(@article) end ``` is just a short form for: ```ruby def show @article = Article.find(params[:id]) fresh_when(etag: @article, last_modified: @article.created_at) end ``` This commit extends `fresh_when` and `stale?` to also accept a collection of records, so that a short form similar to the one above can be used in an `index` action. After this commit, the following code: ```ruby def index @article = Article.all fresh_when(etag: @articles, last_modified: @articles.maximum(:created_at)) end ``` can be simply written as: ```ruby def index @article = Article.all fresh_when(@articles) end ```
* Fix wrong kwarg "record" from #18872claudiob2015-02-101-1/+1
| | | | | | | | | | | | PR #18772 changed the parameters of `stale?` to use `kwargs`. [As for this comment](https://github.com/rails/rails/pull/18872/files#r24456288) the default value for the `etag` parameter should be `record`, not `nil`. This commit fixes the code and introduces a test that: - passed before #18872 - fails on the current master (after #18772) - passes again after setting the default value of `etag` to `record`.
* Convert stale? and fresh_when to use keyword arguments.Kasper Timm Hansen2015-02-101-12/+10
|
* Merge pull request #18771 from kirs/deprecate-xhrRafael Mendonça França2015-02-051-3/+18
|\ | | | | Migrating xhr methods to keyword arguments syntax
| * Migrating xhr methods to keyword arguments syntaxKir Shatrov2015-02-011-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | in `ActionController::TestCase` and `ActionDispatch::Integration` Old syntax: `xhr :get, :create, params: { id: 1 }` New syntax example: `get :create, params: { id: 1 }, xhr: true`
* | Merge pull request #18721 from sj26/pre-discard-flashAaron Patterson2015-02-011-0/+2
|\ \ | | | | | | Pre-discard flash messages
| * | Fix flash remaining after last flash deletedSamuel Cochran2015-01-291-0/+2
| | | | | | | | | | | | | | | | | | | | | Inside a controller functional test after the last flash is deleted it still persists the flash because to_session_value is nil. We should delete it from the session when the serialized version is nil, same as the flash middleware.
* | | Fix a typo in deprecation warning. #process takes method instead of http_method.Juanito Fatas2015-01-311-1/+1
| | |
* | | [ci skip] Document format parameter of process method in AC test_case.Juanito Fatas2015-01-311-0/+1
| |/ |/|
* | Use fixed fonts only in the name of the parameterRafael Mendonça França2015-01-291-8/+8
| |
* | Switch to kwargs in ActionController::TestCase and ActionDispatch::IntegrationKir Shatrov2015-01-291-28/+93
|/ | | | | | | | Non-kwargs requests are deprecated now. Guides are updated as well. `post url, nil, nil, { a: 'b' }` doesn't make sense. `post url, params: { y: x }, session: { a: 'b' }` would be an explicit way to do the same
* Fixed undefined method error when doing authentication.Zhang Kai Yu2015-01-241-2/+2
|
* Speed up `normalize_keys` by removing dup step.Kasper Timm Hansen2015-01-221-9/+6
| | | | | | | | Previously env was duplicated and then had it's keys mutated. This iterates through the hash twice. Using `transform_keys`, duplication and key mutation is a single iteration. `convert_symbols` was renamed to `http_header_format`.
* Add ActionController::Base.renderbrainopia2015-01-221-0/+3
|
* Add ActionController::Rendererbrainopia2015-01-222-0/+111
| | | | Render arbitrary templates outside of controller actions
* Add ActionController#build_with_envbrainopia2015-01-221-0/+6
| | | | | To have an easier way to setup a controller instance with custom environment
* Add `ActionController::Metal#set_request!`brainopia2015-01-212-4/+8
| | | | | Add `ActionController::Metal#set_request!` to set a request on controller instance without calling dispatch.
* Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-01-151-2/+2
|\
| * Better examples for fresh_when and stale?claudiob2015-01-061-2/+2
| | | | | | | | | | | | | | | | | | | | It is clearer and closer to reality to use `@article.updated_at` as the `:last_modified` parameter of `fresh_when` and `stale?`. Using `@article.created_at` would result in the cache never expiring, since the creation timestamp never changes. [ci skip]
* | Add prepend option to protect_from_forgery.Josef Šimánek2015-01-081-1/+8
| |
* | Remove ActionController::HideActions (closes #18336)brainopia2015-01-062-41/+0
| |
* | Improve protect_from_forgery documentation. [ci skip].Josef Šimánek2015-01-061-3/+3
| |
* | Reset template assertions without warningsbrainopia2015-01-051-2/+4
| |
* | Document all options for protect_from_forgery.Josef Šimánek2015-01-041-8/+2
| | | | | | | | [ci skip]
* | Remove unused requireCarlos Antonio da Silva2015-01-041-1/+0
| | | | | | | | | | This was used by the respond_to/respond_with implementation on this file, which is now extracted to the responders gem.
* | Remove respond_to/respond_with placeholder methodsCarlos Antonio da Silva2015-01-041-20/+0
| | | | | | | | This functionality has been extracted to the responders gem.
* | Remove Struct#to_h backportRafael Mendonça França2015-01-041-1/+0
| |
* | Remove deprecated option `use_route` in controller testsRafael Mendonça França2015-01-041-23/+1
|/
* Merge pull request #17978 from kommen/fixed-pr-14903Rafael Mendonça França2015-01-021-4/+7
|\ | | | | | | | | | | | | 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-101-4/+7
| | | | | | | | | | | | | | | | 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-021-1/+2
| |
* | Correctly use the response's status code calling headRobin Dupret2014-12-312-5/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-301-1/+1
| | | | | | | | | | 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-301-2/+2
| | | | | | | | this will help decouple us from using the rack env hash
* | Remove single space response body for head requestPrathamesh Sonpatki2014-12-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* | Minor documentation edits [ci skip]Robin Dupret2014-12-281-1/+1
| |
* | 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-251-12/+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.
* | Merge pull request #18102 from arthurnn/nodoc_constantArthur Nogueira Neves2014-12-191-0/+1
| | | | | | | | Add nodoc to some constants [skip ci]
* | 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-161-0/+2
|\ \ | | | | | | | | | | | | 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-161-0/+2
| |/ | | | | | | unknown layout type
* | Don't convert empty arrays to nils when deep munging paramsChris Sinjakli2014-12-151-9/+0
| |
* | Merge pull request #18006 from sikachu/add-params-to_unsafe_hRafael Mendonça França2014-12-121-0/+6
|\ \ | | | | | | Add AC::Parameters#to_unsafe_h