aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
Commit message (Collapse)AuthorAgeFilesLines
* push is_a checks up the stackAaron Patterson2015-07-171-13/+13
| | | | now `hash_filter` doesn't need to know about the `Parameters` class
* remove useless conditionalAaron Patterson2015-07-171-1/+0
| | | | | Since we proved that `element` is always of type `Parameter`, we know that it will always respond to `permit`, so lets remove this conditional
* remove useless conditionalsAaron Patterson2015-07-171-2/+2
| | | | | | | | `element` can never be a hash because: 1. `slice` returns a Parameters object and calls each on it: https://github.com/rails/rails/blob/cb3f25593b1137e344086364d4b1a52c08e8eb3b/actionpack/lib/action_controller/metal/strong_parameters.rb#L656 2. `each` which is implemented by `each_pair` will call `convert_hashes_to_parameters` on the value: https://github.com/rails/rails/blob/cb3f25593b1137e344086364d4b1a52c08e8eb3b/actionpack/lib/action_controller/metal/strong_parameters.rb#L192-197 3. `convert_hashes_to_parameters` will convert any hash objects in to parameters objects: https://github.com/rails/rails/blob/cb3f25593b1137e344086364d4b1a52c08e8eb3b/actionpack/lib/action_controller/metal/strong_parameters.rb#L550-566
* remove useless functionAaron Patterson2015-07-171-8/+2
| | | | | | Now that the value is cached on the stack, `array_of_permitted_scalars_filter` is exactly the same as `array_of_permitted_scalars?`, so lets just have one
* stop passing `params` to `array_of_permitted_scalars_filter`Aaron Patterson2015-07-171-4/+6
| | | | | | this way the method doesn't have to know what the new params object is, it just yields to a block. This change also caches the value of `self[key]` on the stack
* push key checking upAaron Patterson2015-07-171-1/+2
| | | | | | We should disconnect `array_of_permitted_scalars_filter` from the instance so that we can make hash filtering functional. For now, pull the conditional up out of that method
* Standardize `ActionController::Parameters#to_unsafe_h` return valueZoltan Kiss2015-07-151-1/+1
| | | | | | `ActionController::Parameters#to_h` returns a hash, so lets have `ActionController::Parameters#to_unsafe_h` return a hash instead of an `ActiveSupport::HashWithIndifferentAccess` for consistency.
* Update documentation on `AC::Parameters`Prem Sichanugrist2015-07-151-6/+32
|
* Make AC::Parameters not inherited from HashPrem Sichanugrist2015-07-151-28/+99
| | | | | | | | This is another take at #14384 as we decided to wait until `master` is targeting Rails 5.0. This commit is implementation-complete, as it guarantees that all the public methods on the hash-inherited Parameters are still working (based on test case). We can decide to follow-up later if we want to remove some methods out from Parameters.
* Rack implements `redirect?` so we don't need itAaron Patterson2015-07-141-3/+0
| | | | Rack [already implements `redirect?` on the response object](https://github.com/rack/rack/blob/1569a985e17d9caaf94d0e97d95ef642c4ab14ba/lib/rack/response.rb#L141) so we don't need to implement our own.
* Change AC::TestResponse to AD::TestResponsePrem Sichanugrist2015-07-141-1/+1
| | | | | ActionController::TestResponse was removed in d9fe10c and caused a test failure on Action View as its test case still refers to it.
* only have one TestResponse classAaron Patterson2015-07-131-4/+1
|
* move buffer caching on to the bufferAaron Patterson2015-07-132-4/+4
|
* Merge pull request #20736 from antoine-lizee/docsRobin Dupret2015-07-131-1/+1
|\ | | | | [ci skip] docs: making clear that perform_caching has a limited impact
| * [ci skip] doc: making clear that perform_caching has a limited impactantoine.lizee2015-07-131-1/+1
| |
* | Merge pull request #20842 from TheBlasfem/removed_usage_lines_docsClaudio B.2015-07-111-1/+1
|\ \ | | | | | | Removed usage line docs [ci skip]
| * | added description instead of remove usage [ci skip]Julio Lopez2015-07-111-1/+1
| | |
* | | we don't really need an extra method to set the script nameAaron Patterson2015-07-101-5/+1
| | |
* | | Remove useless conditionalAaron Patterson2015-07-101-12/+0
| | | | | | | | | | | | PATH_INFO is already set, so this branch will never execute.
* | | default `PATH_INFO` to the generated pathAaron Patterson2015-07-101-1/+2
| | | | | | | | | | | | | | | | | | we were already generating a path in the previous code (it was just not returned), so lets just use the already computed path to popluate the PATH_INFO header
* | | always default the SCRIPT_NAME to whatever is on the controllerAaron Patterson2015-07-101-1/+1
| | |
* | | remove useless ivar clearingAaron Patterson2015-07-101-6/+0
| | | | | | | | | | | | Since we only work with new instances, these ivars will not be set.
* | | call the `path_parameters=` setter rather than rely on mutationsAaron Patterson2015-07-101-1/+3
| | | | | | | | | | | | | | | We should call the setter on `path_parameters` so that we know the hash will only contain the values that we've set.
* | | start collecting `env` mutationsAaron Patterson2015-07-101-5/+3
| | | | | | | | | | | | | | | I'd like to put all env mutations together so we can understand how to change this code to call `call` on the controller
* | | Parameters are converted to a query stringAaron Patterson2015-07-101-17/+0
| | | | | | | | | | | | | | | Since parameters are converted to a query string, they will automatically be turned in to strings by the query parser
* | | no more HWIAAaron Patterson2015-07-101-1/+1
| | | | | | | | | | | | | | | non_path_parameters is used internally (it never escapes this method) so we should be able to safely use a regular hash.
* | | remove param dup'ing logicAaron Patterson2015-07-101-8/+0
| | | | | | | | | | | | | | | since we are serializing parameters, we don't need to do all the dup checks on each object.
* | | encode / decode parameters before assigning them to the requestAaron Patterson2015-07-101-5/+58
|/ / | | | | | | | | | | We should roundtrip the parameters through their respective encoders / decoders so that the controller will get parameters similar to what they actually get in a real world situation
* | set parameters as a query stringAaron Patterson2015-07-091-6/+9
| | | | | | | | | | | | We should convert request parameters to a query string, then let the request object parse that query string. This should give us results that are more similar to the real-world
* | build and assign parameters rather than rely on mutationsAaron Patterson2015-07-081-1/+15
| | | | | | | | | | We should assign parameters to the request object rather than mutate the hash that is returned by `query_parameters` or `request_parameters`
* | assign the cookie hash on request allocationAaron Patterson2015-07-081-1/+1
| | | | | | | | this prevents mutations from being available globally
* | request objects are no longer recycledAaron Patterson2015-07-081-10/+8
| | | | | | | | | | | | Instead of trying to manually clear out a request object, lets just allocate a new one. The rack ENV is reused and cleaned (still), but the request object is not.
* | add a new constructor for allocating test requestsAaron Patterson2015-07-081-11/+13
| |
* | pass the starting env and session to build_requestAaron Patterson2015-07-081-3/+3
| |
* | pass the session and env in to the test requestAaron Patterson2015-07-081-4/+8
| |
* | allocate new responses rather than recycling themAaron Patterson2015-07-081-12/+5
| | | | | | | | | | There is no reason to "recycle" response objects when we can just allocate a new one.
* | pass cookies from the jar in the HTTP_COOKIE headereileencodes2015-07-071-8/+7
| | | | | | | | | | we should be pushing the cookies in via headers rather than maintaining some object and "recycling" it.
* | Send cookies with requesteileencodes2015-07-071-1/+4
|/
* Merge pull request #20276 from davetron5000/revert-head-on-no-templateKasper Timm Hansen2015-06-271-2/+17
|\ | | | | Allow default_render to take a block to customize behavior when there's no template
| * Override default_render's behavior with a blockDave Copeland2015-06-201-2/+17
| | | | | | | | | | | | | | | | | | | | In 0de4a23 the behavior when there is a missing template was changed to not raise an error, but instead head :no_content. This is a breaking change and some gems rely on this happening. To allow gems and other code to work around this, allow `default_render` to take a block which, if provided, will execute the contents of that block instead of doing the `head :no_content`.
* | Merge pull request #20659 from ↵Yves Senn2015-06-221-2/+4
|\ \ | | | | | | | | | | | | | | | vngrs/strong_parameters_unpermitted_parameters_wrong_doc_fix Fix the documentation about ActionController::UnpermittedParameters [ci skip]
| * | Fix the documentation about ActionController::UnpermittedParameters [ci skip]Mehmet Emin İNAÇ2015-06-221-2/+4
|/ /
* / Fix the documentation about ActionController::ParameterMissing [ci skip]Mehmet Emin İNAÇ2015-06-221-5/+5
|/
* Deprecate passing hash as first parameter into ActionController::HeadMehmet Emin İNAÇ2015-06-151-2/+12
|
* A few documentation edits [ci skip]Robin Dupret2015-06-152-10/+12
|
* Add missing "header" word in documentation of Token#authentication_request ↵Prathamesh Sonpatki2015-06-141-1/+1
| | | | [ci skip]
* Update RDoc for ActionController::TestCase for kwargs.Victor Costan2015-06-121-1/+1
|
* Merge pull request #20522 from colby-swandale/doc-updateSean Griffin2015-06-111-1/+1
|\ | | | | fixed sring to be string in ActiveRecord::Base params documentation [ci skip]
| * fixed sring to be string in ActiveRecord::Base params documentationColby Swandale2015-06-121-1/+1
| |
* | Mention that doing nothing in Rails API controllers returns 204Santiago Pastorino2015-06-111-1/+1
| |