aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
Commit message (Collapse)AuthorAgeFilesLines
* Fix indentation and formatting in CHANGELOGs [ci skip]Ryuta Kamizono2017-03-111-2/+2
|
* Add @takkanm credits in the changelog [ci skip]Rafael Mendonça França2017-03-101-1/+1
|
* Merge pull request #28355 from Edouard-chin/reversemerge-for-strongparametersRafael Mendonça França2017-03-103-0/+48
|\ | | | | | | | | | | Added `reverse_merge`/`reverse_merge!` to AC::Parameters: [Rafael Mendonça França + Mitsutaka Mimura]
| * Added `reverse_merge`/`reverse_merge!` to AC::Parameters:Edouard CHIN2017-03-093-0/+48
| | | | | | | | | | - This PR adds the `reverse_merge` and `reverse_merge!` method to `ActionController::Parameters` - Fixes #28353
* | Call system test driver per-instance rather than globallyeileencodes2017-03-097-42/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the system test subclasses would call `driven_by` when the app booted and not again when the test was initialized which resulted in the driver from whichever class was called last to be used in tests. In rails/rails#28144 the `driven_by` method was changed to run `use` on setup and `reset` on teardown. While this was a viable fix this really pointed to the problem that system test `driven_by` was a global setting, rather than a per-class setting. To alieviate this problem calling the driver should be done on an instance level, rather than on the global level. I added an `initialize` method to `SystemTestCase` which will call `use` on the superclass driver. Running the server has been moved to `start_application` so that it only needs to be called once on boot and no options from `driven_by` were being passed to it. This required a largish rewrite of the tests. Each test needs to utilize the subclass so that it can properly test the drivers. `ActionDispatch::SystemTestCase` shouldn't be called directly anymore.
* | Refactor system test driver/browsereileencodes2017-03-096-56/+35
|/ | | | | | | Since using a browser is only for selenium it doesn't really make sense to have a separate class for handling it there. This brings a lot of the if/else out of the main SystemTestCase class and into the Driver class so we can abstract away all that extra work.
* Tests for delegated public methods on AC::ParametersT.J. Schuck2017-03-071-0/+63
|
* params --> parametersJon Moss2017-03-071-2/+2
| | | | [ci skip]
* Document delegated public methods on AC::ParametersT.J. Schuck2017-03-071-0/+71
| | | [ci skip]
* Add CHANGELOG entry for #28250Andrew White2017-03-061-0/+10
|
* Fix malformed asset_url when rendering template with ActionController::RendererGiorgos Vrettos2017-03-062-0/+15
|
* Merge pull request #28301 from y-yagi/fix_direct_with_params_exampleJon Moss2017-03-051-1/+1
|\ | | | | Fix `direct` with params example [ci skip]
| * Fix `direct` with params example [ci skip]yuuji.yaginuma2017-03-061-1/+1
| | | | | | | | | | | | | | Since `ActionController:Parameters` does not inherit `Hash`, need to explicitly convert it to `Hash`. Also, `Parameters#to_h` returns `Hash` whose key is `String`. Therefore, if merge as it is, the value will not be overwritten as expected.
* | Fix CI failure due to contain <U+2028>Ryuta Kamizono2017-03-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```diff diff --git a/actionpack/lib/action_controller/metal/redirecting.rb b/actionpack/lib/action_controller/metal/redirecting.rb index a3159c29dd..1836a07d4e 100644 --- a/actionpack/lib/action_controller/metal/redirecting.rb +++ b/actionpack/lib/action_controller/metal/redirecting.rb @@ -50,8 +50,8 @@ module Redirecting # redirect_to post_url(@post), status: 301, flash: { updated_post_id: @post.id } # redirect_to({ action: 'atom' }, alert: "Something serious happened") # - # Statements after redirect_to in our controller get executed, so redirect_to doesn't stop the execution of the function. - <U+2028># To terminate the execution of the function immediately after the redirect_to, use return. + # Statements after +redirect_to+ in our controller get executed, so +redirect_to+ doesn't stop the execution of the function. + # To terminate the execution of the function immediately after the +redirect_to+, use return. # redirect_to post_url(@post) and return def redirect_to(options = {}, response_status = {}) raise ActionControllerError.new("Cannot redirect to nil!") unless options ``` https://travis-ci.org/rails/rails/jobs/207908041#L549
* | Merge pull request #28259 from ChakreshwarSharma/redirect_to_docVipul A M2017-03-051-0/+3
|\ \ | | | | | | [ci skip] Use return with redirect_to
| * | [ci skip] Use return with redirect_toChakreshwarSharma2017-03-041-0/+3
| | |
* | | Merge pull request #28264 from ↵Eileen M. Uchitelle2017-03-052-1/+30
|\ \ \ | | | | | | | | | | | | | | | | y-yagi/do_not_take_screenshot_if_driver_does_not_support_it Do not take screenshot if driver does not support screenshot
| * | | Do not take screenshot if driver does not support screenshotyuuji.yaginuma2017-03-042-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `Capybara::RackTest::Driver` does not support taking screenshots. If call `#save_screenshot` on `Capybara::RackTest::Driver` will raise the error. ```ruby Error: UsersTest#test_visiting_the_index: Capybara::NotSupportedByDriverError: Capybara::Driver::Base#save_screenshot ``` To prevent errors, if driver does not support screenshot, do not call it.
* | | | Revert "Add a changelog entry for #28284 [ci skip]"eileencodes2017-03-051-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 84c1b107b9daab90b3ccf520f0f09752e4eaf425. Reverted #28283 so reverted it's changelog update as well.
* | | | Revert "Merge pull request #28283 from ↵eileencodes2017-03-051-1/+1
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | y-yagi/silence_puma_startup_messages_in_system_test" This reverts commit 0d73f9116ccd3ded23e69d70ff5ed23dd339df5b, reversing changes made to 21ff8a493206cd50558b03975a7eaaaeb6ec7900. We don't want to silence Puma because it's start up messages can be useful (to see threads, port etc). #28109 was instead fixed by not running system tests by defaul with `bin/rails test` in #28286.
* | | [ci skip] Fix ParameterMissing exception name in docsTejas Bubane2017-03-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Should be `ActionController::ParameterMissing` and not `ActionController::MissingParameter`. Corresponding change was done in guides in https://github.com/rails/rails/pull/9816.
* | | Fix a wrong pull request reference [ci skip]Robin Dupret2017-03-041-1/+1
| | |
* | | Add a changelog entry for #28284 [ci skip]Robin Dupret2017-03-041-0/+6
| | |
* | | Silence puma startup messages in system testyuuji.yaginuma2017-03-041-1/+1
|/ / | | | | | | Fixes #28109
* / Fix random failure on system test with ajaxFumiaki MATSUSHIMA2017-03-031-1/+1
|/ | | | | | | | If application has ajax, browser may begin request after rollback. `teardown_fixtures` will be called after `super` on `after_teardown` so we must call `Capybara.reset_sessions!` before `super` https://github.com/rails/rails/blob/b61a56541aecd7ac685d4f19d943177a3f1b465a/activerecord/lib/active_record/fixtures.rb#L857
* Take failed screenshot before reset driveryuuji.yaginuma2017-02-281-1/+1
| | | | | | | Now reset the driver before take failed screenshot since #28144. However, I think that failed screenshot should be take with the driver actually used in the test. So, fixed to take screenshot before reset driver.
* Remove unused params.Jerry Tao2017-02-262-2/+2
|
* Commit flash changes when using a redirect route.Andrew White2017-02-253-0/+58
| | | | | | | | | | | | | In ca324a0 the flash middleware was effectively removed by its constructor returning the app it was passed and the `commit_flash` call was moved to the `ActionController::Metal#dispatch` method. This broke any redirect routes that modified the flash because the redirect happens before `dispatch` gets called. To fix it, this commit adds a `commit_flash` call in the `serve` method of `ActionDispatch::Routing::Redirect`. Fixes #27992.
* [ci ckip] Fix example of resolve in CHANGELOG.mdAndrew White2017-02-251-1/+1
|
* Add missing gzip footer check in ActiveSupport::Gzip.decompressDylan Thacker-Smith2017-02-241-1/+1
| | | | | | | | A gzip file has a checksum and length for the decompressed data in its footer which isn't checked by just calling Zlib::GzipReader#read. Calling Zlib::GzipReader#close must be called after reading to the end of the file causes this check to be done, which is done by Zlib::GzipReader.wrap after its block is called.
* Change `SystemTestCase.driven_by` to use `setup`/`teardown` hooksLucas Mazza2017-02-244-27/+35
| | | | | | Previously, `driven_by` would change the Capybara configuration when the test case is loaded, and having multiple test classes with different `driven_by` configs would fail as the last loaded would be effective.
* Preparing for 5.1.0.beta1 releaseRafael Mendonça França2017-02-232-1/+3
|
* Move documentation to the correct placeeileencodes2017-02-231-72/+72
| | | | | The documentation needs to be above the method to correctly document the method.
* Do not take screenshot when test skippedyuuji.yaginuma2017-02-232-2/+16
|
* [ci skip] Fix more quotes in direct/resolve docsAndrew White2017-02-231-3/+3
| | | | Also correct use of `direct class:` to `resolve` in example.
* Clarify use of params in `direct`Andrew White2017-02-222-0/+23
| | | | | | | | | Since a `direct` url helper block is evaluated using `instance_exec` then methods that are available in the instance context can be accessed, e.g. the params object in a controller action or view. This wasn't clear from the example so expand on that point and add a test case for this situation.
* Add more missing requiresAndrew White2017-02-221-0/+1
| | | | Further missing requires for Timeout exposed due to Bundler 1.14.5
* Bump removal of `/:controller/:action` to Rails 5.2Andrew White2017-02-221-2/+2
|
* [ci skip] Fix direct/resolve documentation.Kasper Timm Hansen2017-02-211-11/+11
| | | | Use double quoted strings, come down hard on some typos.
* [ci skip] Fix typos in direct/resolve changelog.Kasper Timm Hansen2017-02-211-2/+2
|
* Merge pull request #23138 from rails/custom-url-helpers-and-polymorphic-urlsAndrew White2017-02-215-10/+597
|\ | | | | Implement custom url helpers and polymorphic mapping
| * Split direct method into twoAndrew White2017-02-214-109/+155
| | | | | | | | | | Use a separate method called `resolve` for the custom polymorphic mapping to clarify the API.
| * Push option extract into call methodAndrew White2017-02-212-8/+7
| |
| * Fix typo in exception messageAndrew White2017-02-211-1/+1
| |
| * Removed `model_name` method to prevent warningAndrew White2017-02-211-0/+1
| |
| * Prefer remove_method over undef_methodAndrew White2017-02-212-4/+11
| | | | | | | | | | | | Using `undef_method` means that when a route is removed any other implementations of that method in the ancestor chain are inaccessible so instead use `remove_method` which restores access to the ancestor.
| * Support mapping of non-model classesAndrew White2017-02-212-3/+33
| |
| * Raise an error if `direct` is inside a scope blockAndrew White2017-02-212-3/+26
| |
| * Add CHANGELOG entry for `direct` methodAndrew White2017-02-211-0/+39
| |
| * Add custom polymorphic mappingAndrew White2017-02-214-57/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.