aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge pull request #29533 from jdelStrother/missing_url_formatsRichard Schneeman2017-06-272-0/+11
|\ \ \ | | | | | | | | Fix missing formats in route-set URLs
| * | | Fix missing formats in route-set URLsJonathan del Strother2017-06-232-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, handle_positional_args would end up mutating @segment_keys if inner_options included path components. Subsequent calls would then be missing the implicit path components. eg: user_path(1, :json) # => "/users/1.json" (correct) user_path(1, format: :json) # => "/users/1.json" (correct, but @segment_keys was mutated) user_path(1, :json) # => "/users/1" (oh no!)
* | | | Calling `follow_redirect!` does not reset the `html_document`:Edouard CHIN2017-06-262-1/+13
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - When making a request to a controller that redirects, `follow_redirect!` would not reset the `html_document` ivar, it only resets the `html_document` ivar from the session (not the runner) - If one was doing something like this; ```ruby get '/redirect' assert_select 'you are being redirected' follow_redirect! # html_document is memoized and doesn't get reset ``` - To fix the issue we can do the same for any other methods (`get`, `post`...) and define a method in the runner that delegates to the session but clears the html_document_first - Fixes #29367
* | | Add an option to silence puma in system tests.Sam Phippen2017-06-241-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is motivated by our usage of system test in RSpec. Puma lazily boots the first time a system test is used, but this causes some unfortunate output to appear in the middle of the user's green dots. An example of this can be seen in @derekprior's comment [here](https://github.com/rspec/rspec-rails/pull/1813#issuecomment-309252314). There are alternatives in RSpec where we attempt to intercept the puma boot and prevent the output from being made there, but that would involve some monkey patching. This seems like a cleaner solution.
* | | Merge pull request #29553 from eugeneius/wrap_parameters_nilKasper Timm Hansen2017-06-242-1/+9
|\ \ \ | | | | | | | | Don't wrap parameters if key already exists
| * | | Don't wrap parameters if key already existsEugene Kenny2017-06-242-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We shouldn't perform parameter wrapping if it would overwrite one of the parameters sent with the request, as that would interfere with reading the parameter directly from the top level `params` hash. The current implementation has logic for this case, but it doesn't handle `nil`/`false` values, which means these parameters: { "user" => nil } are transformed into this `params` hash: { "user" => { "user" => nil } } and `params["user"]` no longer returns the original parameter value.
* | | | Removed reference to unexisting methods:Edouard CHIN2017-06-231-2/+1
|/ / / | | | | | | | | | `get/post_via_redirect`, `xhr` and his alias `xml_http_request` were respectively removed in 092033d59f7e2b248f6c6ab6c0b67339c5e9f2df and eb52e5d42fbdc9288925a402dcb3c5664d1125b7
* / / Fix typo in `AC::UnfilteredParameters` message [ci skip]yuuji.yaginuma2017-06-231-2/+2
|/ / | | | | | | Ref: https://github.com/rails/rails/blob/33b596709388cc48d90ab6d1de99d7bd6e85f916/actionpack/lib/action_controller/metal/strong_parameters.rb#L52..L56
* | prepare for Minitest 6utilum2017-06-201-1/+1
| |
* | Merge pull request #27990 from leonelgalan/bug/filtered_parameters_classRafael França2017-06-193-2/+15
|\ \ | | | | | | Use of ParameterFilter no longer forces `request.filtered_parameters' class to be Hash
| * | Merge branch 'master' into bug/filtered_parameters_classLeonel Galán2017-06-1662-268/+511
| |\|
| * | Merge branch 'master' into bug/filtered_parameters_classLeonel Galán2017-05-1713-26/+77
| |\ \
| * \ \ Merge branch 'master' into bug/filtered_parameters_classLeonel Galán2017-04-2522-93/+316
| |\ \ \
| * \ \ \ Merge branch 'master' into bug/filtered_parameters_classLeonel Galán2017-04-0379-524/+1645
| |\ \ \ \
| * | | | | Fixes CodeClimate warningsLeonel Galan2017-02-131-2/+2
| | | | | |
| * | | | | Use of ParameterFilter no longer forces `request.filtered_parameters' class ↵Leonel Galan2017-02-133-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to be Hash - Fixes issue described on #27944 - `filtered_query_string` used an Array representation of what semantically is a key value pair: better suited for a Hash. Without this change `filtered_params = original_params.class.new` returns an Array with unintended consequences.
* | | | | | Fix examples for `AC::Parameters#to_query` [ci skip]yuuji.yaginuma2017-06-191-1/+6
| |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without `permit`, `AC::Parameters#to_query` raise `AC::UnfilteredParameters`. ```ruby params = ActionController::Parameters.new({ name: "David", nationality: "Danish" }) params.to_query # => ActionController::UnfilteredParameters: unable to convert unpermitted parameters to hash ```
* | | | | Merge pull request #29451 from vipulnsward/29441-flatten-defaultRafael França2017-06-142-1/+2
|\ \ \ \ \ | | | | | | | | | | | | Allow translate default option to accept an array similar to i18n.t
| * | | | | Allow translate default option to accept an array similar to i18n.t. Fixes ↵Vipul A M2017-06-152-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | #29441
* | | | | | Use `require_relative` instead of `require` with full pathbogdanvlviv2017-06-141-1/+1
|/ / / / /
* | | | | Fix formatting of AD::FileHandler and AD::Static doc [ci skip]yuuji.yaginuma2017-06-131-7/+7
| | | | |
* | | | | Merge pull request #29263 from assain/default_message_encryptor_to_gcmKasper Timm Hansen2017-06-111-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Default Message Encryptor Cipher to AES-256-GCM From AES-256-CBC
| * | | | | set message_encryptor default cipher to aes-256-gcmAssain2017-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | - Introduce a method to select default cipher, and maintain backward compatibility
* | | | | | Tiny documentation fixes [ci skip]Robin Dupret2017-06-061-3/+3
|/ / / / /
* | | | | Merge pull request #29294 from gsamokovarov/attributes-defaultKasper Timm Hansen2017-06-047-20/+10
|\ \ \ \ \ | | | | | | | | | | | | Introduce mattr_accessor default option
| * | | | | Use mattr_accessor default: option throughout the projectGenadi Samokovarov2017-06-037-20/+10
| | | | | |
* | | | | | Fix typo on error message when route definition is ambiguous.André Luis Leal Cardoso Junior2017-06-031-1/+1
| | | | | |
* | | | | | [ci skip] Fix typo in the system tests docsPrathamesh Sonpatki2017-06-031-1/+1
| | | | | |
* | | | | | Fix formatting of `direct` and `resolve` doc [ci skip]yuuji.yaginuma2017-06-031-14/+14
|/ / / / /
* | | | | SystemTesting::Driver can register capybara-webkit and poltergeistMario Alberto Chávez2017-06-024-9/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | drivers. When using `driver_by` with capybara-webkit or poltergeist, SystemTesting::Driver will register the driver while passing `screen_size` and `options` parameteres. `options` could contain any option supported by the underlying driver.
* | | | | Merge pull request #29191 from ↵Kasper Timm Hansen2017-05-291-5/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | bogdanvlviv/pass_params_filename_lineno_to_class_eval Pass params __FILE__ and __LINE__ + 1 if class_eval with <<
| * | | | | Pass params __FILE__ and __LINE__ + 1 if class_eval with <<bogdanvlviv2017-05-291-5/+5
| | | | | |
* | | | | | Add option for class_attribute default (#29270)David Heinemeier Hansson2017-05-299-22/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Allow a default value to be declared for class_attribute * Convert to using class_attribute default rather than explicit setter * Removed instance_accessor option by mistake * False is a valid default value * Documentation
* | | | | | Merge pull request #28132 from mikeycgto/aead-encrypted-cookiesKasper Timm Hansen2017-05-284-89/+181
|\ \ \ \ \ \ | | | | | | | | | | | | | | AEAD encrypted cookies and sessions
| * | | | | | AEAD encrypted cookies and sessionsMichael Coyne2017-05-224-89/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes encrypted cookies from AES in CBC HMAC mode to Authenticated Encryption using AES-GCM. It also provides a cookie jar to transparently upgrade encrypted cookies to this new scheme. Some other notable changes include: - There is a new application configuration value: +use_authenticated_cookie_encryption+. When enabled, AEAD encrypted cookies will be used. - +cookies.signed+ does not raise a +TypeError+ now if the name of an encrypted cookie is used. Encrypted cookies using the same key as signed cookies would be verified and serialization would then fail due the message still be encrypted.
* | | | | | | Merge pull request #28895 from codeforkjeff/fix-session-keys-and-values-methodsMatthew Draper2017-05-282-0/+20
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Add lazy loading to #keys and #values methods in Session
| * | | | | | | Add lazy loading to #keys and #values methods in Sessioncodeforkjeff2017-04-262-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug where session.keys and session.values return an empty array unless one of the other methods that does lazy loading from the underlying store is called first. #keys and #values should also call #load_for_read!
* | | | | | | | Merge pull request #29176 from bogdanvlviv/define-path-with__dir__Matthew Draper2017-05-2619-38/+38
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Define path with __dir__
| * | | | | | | | Define path with __dir__bogdanvlviv2017-05-2319-38/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ".. with __dir__ we can restore order in the Universe." - by @fxn Related to 5b8738c2df003a96f0e490c43559747618d10f5f
* | | | | | | | | Merge pull request #28644 from mtsmfm/set-capybara-app-hostMatthew Draper2017-05-242-1/+18
|\ \ \ \ \ \ \ \ \ | |_|_|_|/ / / / / |/| | | | | | | | Set `Capybara.app_host` through `host!`
| * | | | | | | | Set `Capybara.app_host` through `host!`Fumiaki MATSUSHIMA2017-04-022-1/+18
| | |_|_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `visit "/"` will visit always "http://127.0.0.1" even when we call `host!`: ```ruby class SomeTest < ApplicationSystemTest def setup host! "http://example.com" end def test_visit visit root_url # => visit "http://example.com/" visit "/" # => visit "http://127.0.0.1/" end end ``` Because Capybara assumes that host is same as the server if we don't set `Capybara.app_host`: https://github.com/teamcapybara/capybara/blob/866c975076f92b5d064ee8998be638dd213f0724/lib/capybara/session.rb#L239
* | | | | | | | Remove unused simulate methodeileencodes2017-05-222-21/+21
| |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This method was only used in the Rails tests and not by other methods in the Rails simulator. Because it's a no-doc'd class it should be safe to remove without deprecation.
* | | | | | | Merge pull request #29072 from ↵Robin Dupret2017-05-211-0/+20
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | dixpac/dixpac/add_documentation_for_validate_and_callback_order_of_execution Improving docs for callbacks execution order [ci skip]
| * | | | | | Improving docs for callbacks execution order [ci skip]dixpac2017-05-211-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When define callbacks latest definition on the same callback/method overwrites previous ones.
* | | | | | | Merge pull request #29134 from joshaidan/document-action-nameAlex Kitchens2017-05-191-0/+8
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Add documentation to accessors in AbstractController::Base
| * | | | | | | Clarified description of formats [ci skip]Brian Jones2017-05-191-1/+1
| | | | | | | |
| * | | | | | | Added missing punctuation [ci skip]Brian Jones2017-05-181-3/+3
| | | | | | | |
| * | | | | | | Specify only the body of the response is returned [ci skip]Brian Jones2017-05-181-1/+1
| | | | | | | |
| * | | | | | | Document accessors response_body, action_name, formats [ci skip]Brian Jones2017-05-171-0/+8
| | |_|_|_|_|/ | |/| | | | |
* | | | | | | Cleanup CHANGELOGs [ci skip]Ryuta Kamizono2017-05-191-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix indentation. * Add backticks.