aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Merge pull request #29544 from y-yagi/fix_ac_unfiltered_parameters_msgRyuta Kamizono2017-06-231-2/+2
|\ | | | | Fix typo in `AC::UnfilteredParameters` message [ci skip]
| * 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
* Merge pull request #29524 from ↵Eileen M. Uchitelle2017-06-222-8/+4
|\ | | | | | | | | y-yagi/do_not_use_private_api_in_bug_report_templates Do not use private API in bug report templates
| * Do not use private API in bug report templatesyuuji.yaginuma2017-06-222-8/+4
| | | | | | | | | | | | | | | | `ActiveRecord::Migrator` is private API. https://github.com/rails/rails/blob/bb9d6eb094f29bb94ef1f26aa44f145f17b973fe/activerecord/lib/active_record/migration.rb#L977 Therefore, it is not good to use it in bug report templates. Instead, should use the public API `ActiveRecord::Migration#migrate`.
* | Merge pull request #29529 from abraham-chan/fix-hash-conditions-documentationRyuta Kamizono2017-06-221-2/+0
|\ \ | | | | | | Fix hash conditions documentation
| * | Fix hash conditions documentation [ci skip]Abraham Chan2017-06-221-2/+0
| | |
* | | Merge pull request #29525 from y-yagi/fix_ruby_warningsKasper Timm Hansen2017-06-221-1/+1
|\ \ \ | |/ / |/| | Remove unused variable
| * | Remove unused variableyuuji.yaginuma2017-06-221-1/+1
|/ / | | | | | | | | | | | | | | This fixes the following warnings: ``` activerecord/test/cases/relation_test.rb:231: warning: assigned but unused variable - authors_with_commented_posts ```
* | Merge pull request #29513 from kirs/fixture-yaml-fallbackRafael França2017-06-211-5/+4
|\ \ | | | | | | Avoid begin/rescue in fixture quoting
| * | Avoid begin/rescue in fixture quotingKir Shatrov2017-06-201-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Scalar values like arrays and hashes can't be inserted directly into table. Previously, the way to determine if the value is scalar was to try quoting it. If `quote` raised with an error than the value has to be converted to YAML. This flow is not very obvious. Ideally we could have a `quotable?` method in the connection, but I think that we can avoid begin/rescue block by simply checking if the value is Array or Hash. https://github.com/rails/rails/commit/aa31d21f5f4fc4d679e74a60f9df9706da7de373
* | | Merge pull request #27063 from MaxLap/merge_keep_inner_joinRafael França2017-06-213-5/+40
|\ \ \ | |/ / |/| | Keep INNER JOIN when merging relations
| * | Keep INNER JOIN when merging relationsMaxime Lapointe2017-06-203-5/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Doing `Author.joins(:posts).merge(Post.joins(:comments))` does this `SELECT ... INNER JOIN posts ON... LEFT OUTER JOIN comments ON...` instead of doing `SELECT ... INNER JOIN posts ON... INNER JOIN comments ON...`. This behavior is unexpected and makes little sense as, basically, doing `Post.joins(:comments)` means I want posts that have comments. Turning it to a LEFT JOIN means I want posts and join the comments data, if any. We can see this problem directly in the existing tests. The test_relation_merging_with_merged_joins_as_symbols only does joins from posts to comments to ratings while the ratings fixture isn't loaded, but the count is non-zero.
* | | Fix call-seq typo s/==/<=>/ [ci skip]Ryuta Kamizono2017-06-211-1/+1
|/ / | | | | | | Fixes #29512.
* | Merge pull request #28914 from bogdanvlviv/fix-touch-with-optimistic-lockingRafael França2017-06-204-3/+33
|\ \ | | | | | | Fix ActiveRecord::Persistence#touch with locking
| * | Fix ActiveRecord::Persistence#touch with lockingbogdanvlviv2017-06-214-3/+33
|/ / | | | | | | | | | | `ActiveRecord::Persistence#touch` does not work well when optimistic locking enabled and `locking_column`, without default value, is null in the database.
* | Merge pull request #28926 from ↵Rafael França2017-06-203-1/+31
|\ \ | | | | | | | | | | | | bogdanvlviv/fix-destroy-with-locking_column-value-null Fix destroy with locking_column value null
| * | Fix destroy with locking_column value nullbogdanvlviv2017-06-203-1/+31
|/ / | | | | | | | | | | | | Fix destroying existing object does not work well when optimistic locking enabled and `locking column` is null in the database. Follow 22a822e5813ef7ea9ab6dbbb670a363899a083af, #28914
* | Merge pull request #29510 from padi/minor_docs_updateRafael França2017-06-202-1/+3
|\ \ | | | | | | Updates README on rails internal dev tools
| * | Adds missing minor doc about tools/test.rb [ci skip]Marc Ignacio2017-06-212-1/+3
| | | | | | | | | | | | ... and minor typo fix
* | | Merge pull request #29504 from kirs/fixtures-arel-bulkRafael França2017-06-209-11/+117
|\ \ \ | | | | | | | | Use bulk INSERT to insert fixtures
| * | | Use bulk INSERT to insert fixturesKir Shatrov2017-06-209-11/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improves the performance from O(n) to O(1). Previously it would require 50 queries to insert 50 fixtures. Now it takes only one query. Disabled on sqlite which doesn't support multiple inserts.
* | | | Shrink image files in the guides using ImageOptimAkira Matsuda2017-06-2139-0/+0
| |/ / |/| |
* | | Merge pull request #29503 from savroff/fix_current_page_engine_issueRafael França2017-06-203-4/+23
|\ \ \ | | | | | | | | Fix current_page? helper issue with engine root path
| * | | Add changes to CHANGELOGsavroff2017-06-191-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | fix fix
| * | | Fix current_page? helper issue with engine root pathsavroff2017-06-192-4/+17
| | | |
* | | | Merge pull request #28833 from bogdanvlviv/add-test-cases-for-optimistic-lockingRafael França2017-06-202-3/+23
|\ \ \ \ | | | | | | | | | | Add test cases for optimistic locking
| * | | | Clean up 'Optimistic Locking' implementationbogdanvlviv2017-06-121-3/+4
| | | | |
| * | | | Add test cases for optimistic lockingbogdanvlviv2017-06-121-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add test to ensure that locking_column cannot be updated explicitly. Add test to prevent regression on creating new object with explicit value locking_column. Related to #28318
* | | | | [ci skip] Fixed the attribute name for event.detailPrathamesh Sonpatki2017-06-201-3/+3
| | | | |
* | | | | Merge pull request #29505 from utilum/assert_nilRafael França2017-06-202-2/+2
|\ \ \ \ \ | |_|_|/ / |/| | | | prepare for Minitest 6
| * | | | prepare for Minitest 6utilum2017-06-202-2/+2
|/ / / /
* | | | 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-16462-3743/+5112
| |\ \ \
| * \ \ \ Merge branch 'master' into bug/filtered_parameters_classLeonel Galán2017-05-17174-874/+1495
| |\ \ \ \
| * \ \ \ \ Merge branch 'master' into bug/filtered_parameters_classLeonel Galán2017-04-25182-823/+2143
| |\ \ \ \ \
| * \ \ \ \ \ Merge branch 'master' into bug/filtered_parameters_classLeonel Galán2017-04-03498-5491/+9151
| |\ \ \ \ \ \
| * | | | | | | 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.
* | | | | | | | Merge pull request #29485 from tjschuck/nodoc_ac_conn_websocketRafael França2017-06-191-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | nodoc AC::Connection::WebSocket
| * | | | | | | | nodoc AC::Connection::WebSocketT.J. Schuck2017-06-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Users should never publicly be interacting with an instance of this. The instance that comes along with an `AC::Connection::Base` instance (the only thing a user should be working with) is [itself intended to be private](https://github.com/tjschuck/rails/blob/master/actioncable/lib/action_cable/connection/base.rb#L137-L140). [ci skip]
* | | | | | | | | Merge pull request #29454 from kamipo/fix_exists_queries_with_cacheRafael França2017-06-193-51/+46
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Fix `Relation#exists?` queries with query cache
| * | | | | | | | | Ensure query caching for `select_*` methods in connection adaptersRyuta Kamizono2017-06-154-52/+41
| | | | | | | | | |
| * | | | | | | | | Fix `Relation#exists?` queries with query cacheRyuta Kamizono2017-06-152-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a connection adapter overrides `select_*` methods, query caching will doesn't work. This patch changes `select_value` to `select_one` in `Relation#exists?` to ensure query caching. Fixes #29449.
* | | | | | | | | | Merge pull request #29494 from kamipo/prevent_extra_scope_constructionRafael França2017-06-193-3/+5
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Prevent extra `scope` construction in `find_target`
| * | | | | | | | | | Prevent extra `scope` construction in `find_target`Ryuta Kamizono2017-06-183-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because constructing `scope` is a little expensive.
* | | | | | | | | | | Merge pull request #29486 from kirs/fixtures-arelRafael França2017-06-191-4/+11
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Refactor #insert_fixtures to use Arel
| * | | | | | | | | | | Refactor #insert_fixtures to use ArelKir Shatrov2017-06-191-4/+11
| | | | | | | | | | | |
* | | | | | | | | | | | Merge pull request #29493 from y-yagi/deprecate_capifyRafael França2017-06-194-10/+10
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Deprecate an `capify!` method in generators and templates
| * | | | | | | | | | | | Deprecate an `capify!` method in generators and templatesyuuji.yaginuma2017-06-184-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `capify` command has been removed by Capistrano 3 and became to `cap install`. Therefore, the `capify!` method has no meaning in Capistrano 3. I think that should deprecate. Ref: https://github.com/capistrano/capistrano/commit/492793916acf32ffe1604daec6fd4892c8935018