aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #24177 from vipulnsward/rename-testRafael França2016-07-011-1/+1
|\ | | | | Renamed NestedParametersTest to NestedParametersPermitTest
| * - Renamed NestedParametersTest to NestedParametersPermitTest, to indicate ↵Vipul A M2016-03-131-1/+1
| | | | | | | | what we are actually testing in this file
* | Fix conditional order broken in ea40ec56.Kasper Timm Hansen2016-07-021-2/+2
| |
* | Merge pull request #25344 from matthewd/debug-locksMatthew Draper2016-07-022-0/+123
|\ \ | | | | | | ActionDispatch::DebugLocks
| * | Provide a middleware to debug misbehaving locksMatthew Draper2016-06-102-0/+123
| | | | | | | | | | | | | | | Only intended to be enabled when in use; by necessity, it sits above any reasonable access control.
* | | Ensure logging on exceptions only includes what we expectMatthew Draper2016-07-021-0/+23
| | |
* | | Silence DebugExceptions template render logs during exceptionsGenadi Samokovarov2016-07-021-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an exception is raised, those Action View rendering logs are just noise for the end developer. I recently silenced those from Web Console, as we do use Action View rendering in it as well. It used created a half a screen of rendering logs. I think we can save those in this recent push for cleaner development logs. Now, the silencing is a bit hacky and we have a bunch of it now, so we can also invest in turning off the logs directly from Action View objects instead of silencing off the logging stream.
* | | Make mutation stand out some more.Kasper Timm Hansen2016-07-011-2/+5
| | | | | | | | | | | | | | | | | | Felt that += overwriting the path variable was a little too hidden. Make the outcomes easier to spot with an if-else branch.
* | | Fix request encoding in tests when string literals are frozenVolmer2016-07-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running tests with `--enable-frozen-string-literal` or `# frozen_string_literal: true`, it's currently attempted to mutate the path string in order to append the format, causing a `RuntimeError`. ```ruby get '/posts', as: :json ``` ``` RuntimeError: can't modify frozen String ``` This commit fixes the problem by replacing the mutation with a concatenation, returning a new string.
* | | Merge pull request #25582 from alexcameron89/action_controller_baseप्रथमेश Sonpatki2016-07-011-4/+4
|\ \ \ | | | | | | | | [ci skip] Add 'params' formatting in ActionController::Base
| * | | [ci skip] Add 'params' formatting in ActionController::BaseAlex Kitchens2016-06-301-4/+4
| | | |
* | | | Do not allow rack pre releasesRafael Mendonça França2016-06-301-1/+1
|/ / /
* | | [ci skip] Fix typo & add link in PolymorphicRoutesAlex Kitchens2016-06-291-2/+2
| | |
* | | Merge pull request #25544 from piotrj/pj-issue-25488Rafael França2016-06-282-1/+21
|\ \ \ | | | | | | | | Fix setting route's to in a scope
| * | | Fix setting route's to in a scopePiotr Jakubowski2016-06-282-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | Fixes #25488 97d7dc4 introduced a regression that resulted in ArgumentError when to was in options of the scope and not of particular route.
* | | | Fix adding implicitly rendered template digests to ETagsJavan Makhmali2016-06-283-11/+43
|/ / / | | | | | | | | | Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
* | | Merge pull request #25123 from bf4/remove_problematic_mime_testRafael França2016-06-271-3/+3
|\ \ \ | | | | | | | | Modifies mime-registration test not to interfere with real mime types
| * | | Modifies mime-registration test not to interfere with real mime typesBenjamin Fleischer2016-05-231-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tests introduced in https://github.com/rails/rails/pull/23816/files#diff-384a5a15d8d53de799fb6541688ea5f9R153 register the JSON API media type `application/vnd.api+json` with `Mime[:json]`. The JSON API media type should not be registered with `Mime[:json]`, as discussed in #23712. Moreover, since the actual mime type used in the test is incidental, I've changed this to a valid, but fictional `applcation/vnd.rails+json`. These tests were causing failures in https://github.com/rails/rails/pull/25050#issuecomment-221092934 where `Mime[:jsonapi]` is being added, so that JSON API request params are parsed with the JSONAPI gem.
* | | | Extract method to share path expansion logic.Kasper Timm Hansen2016-06-251-11/+16
| | | | | | | | | | | | | | | | Then just yield the location for the place where we need some extra processing.
* | | | Simplify `as` passed check.Kasper Timm Hansen2016-06-251-1/+1
| | | | | | | | | | | | | | | | `if !var.nil?` is the same as just `if var`
* | | | Merge pull request #25435 from y-yagi/make_as_option_work_with_get_parametersKasper Timm Hansen2016-06-252-2/+18
|\ \ \ \ | | | | | | | | | | make `as` option work with get parameters
| * | | | make `as` option work with get parametersyuuji.yaginuma2016-06-252-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, if path is a relative path, add format without the discrimination of the query. Therefore, if there is a query, format at end of the query would been added, format was not be specified correctly. This fix add format to end of path rather than query.
* | | | | `params.permitted?` is false by defaultJon Moss2016-06-232-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | In the docs: "+permit_all_parameters+ - If it's +true+, all the parameters will be permitted by default. The default is +false+."
* | | | | Update ActionController::Parameters documentation [ci skip]Benjamin Quorning2016-06-221-19/+18
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The changes in this commit are twofold: 1. The examples showing `#require` accepting two arguments were wrong - you have to wrap the arguments (two, or more) in an array. 2. `ActionController::Parameters` has an `#inspect` method now (since https://github.com/rails/rails/pull/23732), and the documentation should reflect that.
* | / / Fix typo in ActionController::Renderer [ci skip]Alex Kitchens2016-06-101-1/+1
| |/ / |/| |
* | | render_to_string Regression Outside of Real Requests in Rails 5.0.0.rc1 (#25308)Brandon Medenwald2016-06-092-1/+8
| | | | | | | | | | | | | | | | | | * Restore the functionality of PR#14129, but do so with not nil to better indicate the purpose of the conditional * Add a test when render_to_string called on ActionController::Base.new()
* | | existant => existentAbhishek Jain2016-06-091-2/+2
| | |
* | | Prevent `{ internal: true }` from being stored in the routerJon Moss2016-06-072-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Forgotten followup to #23669 :grimacing: If you went to an internal route (e.g. `/rails/info/routes`), you would previously see the following in your logger: ```bash Processing by Rails::InfoController#routes as HTML Parameters: {"internal"=>true} Rendering /Users/jon/code/rails/rails/railties/lib/rails/templates/rails/info/routes.html.erb within layouts/application Rendered collection of /Users/jon/code/rails/rails/actionpack/lib/action_dispatch/middleware/templates/routes/_route.html.erb [2 times] (10.5ms) Rendered /Users/jon/code/rails/rails/actionpack/lib/action_dispatch/middleware/templates/routes/_table.html.erb (2.5ms) Rendered /Users/jon/code/rails/rails/railties/lib/rails/templates/rails/info/routes.html.erb within layouts/application (23.5ms) Completed 200 OK in 50ms (Views: 35.1ms | ActiveRecord: 0.0ms) ``` Now, with this change, you would see: ```bash Processing by Rails::InfoController#routes as HTML Rendering /Users/jon/code/rails/rails/railties/lib/rails/templates/rails/info/routes.html.erb within layouts/application Rendered collection of /Users/jon/code/rails/rails/actionpack/lib/action_dispatch/middleware/templates/routes/_route.html.erb [2 times] (1.6ms) Rendered /Users/jon/code/rails/rails/actionpack/lib/action_dispatch/middleware/templates/routes/_table.html.erb (10.2ms) Rendered /Users/jon/code/rails/rails/railties/lib/rails/templates/rails/info/routes.html.erb within layouts/application (17.4ms) Completed 200 OK in 44ms (Views: 28.0ms | ActiveRecord: 0.0ms) ```
* | | Add regression test to `as` option.Kasper Timm Hansen2016-06-071-0/+16
| | | | | | | | | | | | | | | Was worried the `as` might impede on users doing the long form JSON response encoding; test for certainty.
* | | Use `#performed?` to terminate controller callbacksJeff Kreeftmeijer2016-06-033-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 69009f, `ActionController::Metal::DataStreaming#send_file` doesn't set `@_response_body` anymore. `AbstractController::Callbacks` used `@_response_body` in its callback terminator, so it failed to halt the callback cycle when using `#send_file` from a `before_action`. Instead, it now uses `#performed?` on `AbstractController::Base` and `ActionController::Metal`, which checks `response.committed?`, besides checking if `@_response_body` is set, if possible. Example application: https://gist.github.com/jeffkreeftmeijer/78ae4572f36b198e729724b0cf79ef8e
* | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2016-06-031-4/+4
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: guides/source/action_cable_overview.md
| * | | `routes.rb` --> `config/routes.rb`Jon Moss2016-05-191-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | For consistency. [ci skip]
* | | | Merge pull request #25236 from rajatbansal93/fix-typoArun Agrawal2016-06-011-5/+5
|\ \ \ \ | | | | | | | | | | fix typo [ci skip]
| * | | | fix typoRajat Bansal2016-06-011-5/+5
| | | | |
* | | | | Clean up the test request/response even after an exceptionMatthew Draper2016-06-012-23/+50
| | | | |
* | | | | More Action Pack `abstract_unit` cleanup (#25211)Jon Moss2016-05-314-28/+23
|/ / / / | | | | | | | | | | | | | | | | - Remove dead classes / dead code - Move class definitions to where they are used, don't define in a shared space
* | | | Move `Workshop` class definitionJon Moss2016-05-302-18/+18
| | | | | | | | | | | | | | | | | | | | We should define it only where we need it, not in the global abstract unit :grimacing:
* | | | Tiny document fixes [ci skip]Robin Dupret2016-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Add a missing capital letter and avoid using absolute links to the API because they may refer to out-dated documentation on the Edge site.
* | | | ActionController::Parameters: Fix #dig doc codeChristian Wesselhoeft2016-05-291-5/+5
| | | | | | | | | | | | This example code wasn't getting wrapped in a `<code>` tag due to incorrect indentation.
* | | | fix incorrect class name [ci skip]yuuji.yaginuma2016-05-281-1/+1
| | | |
* | | | add missing `as` to request kwargs of `ActionDispatch::IntegrationTest`yuuji.yaginuma2016-05-271-2/+3
| | | | | | | | | | | | | | | | Follow up to #21671
* | | | Remove package:clean taskJavan Makhmali2016-05-241-1/+0
| |/ / |/| | | | | | | | Introduced in d6f2000a67cc63aa67414c75ce77de671824ec52 and was only used by Action Cable. Now handled by Action Cable’s assets:compile task.
* | | Respect `log_warning_on_csrf_failure` setting for all CSRF failuresMatthew Caruana Galizia2016-05-232-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CSRF verification for non-XHR GET requests (cross-origin `<script>` tags) didn't check this flag before logging failures. Setting `config.action_controller.log_warning_on_csrf_failure = false` now disables logging for these CSRF failures as well. Closes #25086. Signed-off-by: Jeremy Daer <jeremydaer@gmail.com>
* | | Revert "Make sure the cache is always populated"Rafael Mendonça França2016-05-201-5/+1
| | | | | | | | | | | | | | | | | | This reverts commit 0ce7eae7418f1b9bb06b351c1f26d50c3674c0d0. Tests were broken https://travis-ci.org/rails/rails/jobs/131850726#L520
* | | Make sure the cache is always populatedAaron Patterson2016-05-201-1/+5
| | | | | | | | | | | | This way we don't have to make multiple calls on anonymous controllers
* | | Add back in Oxford CommaJon Moss2016-05-191-1/+1
| | | | | | | | | | | | | | | | | | per [API documentation guidelines](http://edgeguides.rubyonrails.org/api_documentation_guidelines.html#oxford-comma) [ci skip]
* | | Merge pull request #25070 from josedonizetti/fix_example_routes_docArthur Nogueira Neves2016-05-191-3/+3
|\ \ \ | | | | | | | | fix named route example [ci skip]
| * | | fix named route example [ci skip]Jose Donizetti2016-05-191-3/+3
| | | |
* | | | Support for unified Integer class in Ruby 2.4+Jeremy Daer2016-05-185-16/+12
|/ / / | | | | | | | | | | | | | | | | | | | | | Ruby 2.4 unifies Fixnum and Bignum into Integer: https://bugs.ruby-lang.org/issues/12005 * Forward compat with new unified Integer class in Ruby 2.4+. * Backward compat with separate Fixnum/Bignum in Ruby 2.2 & 2.3. * Drops needless Fixnum distinction in docs, preferring Integer.
* | | Action Mailer: Declarative exception handling with `rescue_from`.Jeremy Daer2016-05-152-42/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follows the same pattern as controllers and jobs. Exceptions raised in delivery jobs (enqueued by `#deliver_later`) are also delegated to the mailer's rescue_from handlers, so you can handle the DeserializationError raised by delivery jobs: ```ruby class MyMailer < ApplicationMailer rescue_from ActiveJob::DeserializationError do … end ``` ActiveSupport::Rescuable polish: * Add the `rescue_with_handler` class method so exceptions may be handled at the class level without requiring an instance. * Rationalize `exception.cause` handling. If no handler matches the exception, fall back to the handler that matches its cause. * Handle exceptions raised elsewhere. Pass `object: …` to execute the `rescue_from` handler (e.g. a method call or a block to instance_exec) against a different object. Defaults to `self`.