aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | Apply record state based on parent transaction stateeileencodes2017-07-014-3/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let's say you have a nested transaction and both records are saved. Before the outer transaction closes, a rollback is performed. Previously the record in the outer transaction would get marked as not persisted but the inner transaction would get persisted. ```ruby Post.transaction do post_one.save # will get rolled back Post.transaction(requires_new: true) do post_two.save # incorrectly remains marked as persisted end raise ActiveRecord::Rollback end ``` To fix this the PR changes transaction handling to have the child transaction ask the parent how the records should be marked. When there are child transactions, it will always be a SavpointTransaction because the stack isn't empty. From there we pass the parent_transaction to the child SavepointTransaction where we add the children to the parent so the parent can mark the inner transaction as rolledback and thus mark the record as not persisted. `update_attributes_from_transaction_state` uses the `completed?` check to correctly mark all the transactions as rolledback and the inner record as not persisted. ```ruby Post.transaction do post_one.save # will get rolled back Post.transaction(requires_new: true) do post_two.save # with new behavior, correctly marked as not persisted on rollback end raise ActiveRecord::Rollback end ``` Fixes #29320
* | | | | | Deprecate and replace `set_state` methodeileencodes2017-07-013-6/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `set_state` was directly setting the transaction state instance variable. It's better to set the state via specific methods (`rollback!` and `commit!` respectively. While undocumented and untested, it's possible someone is using `set_state` in their app or gem so I've added a deprecation notice to it. No where in the app do we use `nullify!` but I wanted to keep existing behavior while replacing the method with a better pattern.
* | | | | | Merge pull request #29622 from yalab/warning_system_tesing_http_verbEileen M. Uchitelle2017-07-013-0/+58
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | Warning http verb method call in SystemTestCase
| * | | | | SystemTestCase undef some IntegrationTest methods because it's confused to use.yalab2017-07-013-0/+58
| | | | | |
* | | | | | Avoid shadowed variableMatthew Draper2017-07-021-2/+2
| | | | | |
* | | | | | Revert "Merge pull request #29540 from kirs/rubocop-frozen-string"Matthew Draper2017-07-022231-2246/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3420a14590c0e6915d8b6c242887f74adb4120f9, reversing changes made to afb66a5a598ce4ac74ad84b125a5abf046dcf5aa.
* | | | | | Merge pull request #29540 from kirs/rubocop-frozen-stringMatthew Draper2017-07-022231-13/+2246
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Enforce frozen string in Rubocop
| * | | | | | Enforce frozen string in RubocopKir Shatrov2017-07-012230-13/+2245
| | | | | | |
* | | | | | | Merge pull request #29506 from pat/frozen-string-literalsMatthew Draper2017-07-0265-323/+323
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Make ActiveSupport frozen-string-literal friendly.
| * | | | | | | Make ActionView frozen string literal friendly.Pat Allan2017-06-2022-223/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Plus a couple of related ActionPack patches.
| * | | | | | | Make ActionMailer frozen string literal friendly.Pat Allan2017-06-205-7/+7
| | | | | | | |
| * | | | | | | Make ActiveRecord frozen string literal friendly.Pat Allan2017-06-2021-44/+43
| | | | | | | |
| * | | | | | | Make ActiveModel frozen string literal friendly.Pat Allan2017-06-204-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Includes two external changes because they're referenced within the ActiveModel test suite.
| * | | | | | | Make ActiveSupport frozen string literal friendly.Pat Allan2017-06-2016-44/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ActiveSupport test suite only passes currently if it uses the latest unreleased commits for dalli, and a patch for Builder: https://github.com/tenderlove/builder/pull/6 Beyond that, all external dependencies (at least, to the extent they’re used by ActiveSupport) are happy, including Nokogiri as of 1.8.0.
* | | | | | | | Merge pull request #29349 from robertomiranda/responsive-imagesMatthew Draper2017-07-023-3/+24
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Add srcset option to image_tag helper
| * | | | | | | | Add `srcset` option to `image_tag` helperRoberto Miranda2017-06-293-2/+23
| | | | | | | | |
* | | | | | | | | Merge pull request #29534 from y-yagi/clear_screenshots_in_tmp_clear_taskEileen M. Uchitelle2017-07-014-9/+57
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Clear screenshots files in `tmp:clear` task
| * | | | | | | | | Clear screenshots files in `tmp:clear` taskyuuji.yaginuma2017-06-274-9/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If system test fails, it creates screenshot under `tmp/screenshots`. https://github.com/rails/rails/blob/34fe2a4fc778d18b7fe6bdf3629c1481bee789b9/actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb#L45 But currently, screenshot files is not cleared by `tmp:clear` task. This patch make clears screenshot files with `tmp:clear` task as well as other tmp files.
* | | | | | | | | | Merge pull request #29650 from koic/add_metadata_link_to_railties_gemspecEileen M. Uchitelle2017-07-011-0/+5
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Add source code and changelog link to railties.gemspec
| * | | | | | | | | | Add source code and changelog link to railties.gemspecKoichi ITO2017-07-011-0/+5
|/ / / / / / / / / /
* | | | | | | | | | Merge pull request #29631 from kamipo/should_be_clear_association_idsMatthew Draper2017-07-012-2/+16
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Should be clear `@association_ids` when joined newly associated record
| * | | | | | | | | | Should be clear `@association_ids` when joined newly associated recordRyuta Kamizono2017-06-302-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #29627.
* | | | | | | | | | | Merge pull request #29634 from kamipo/dont_cache_queries_for_schema_statementsMatthew Draper2017-07-0110-55/+70
|\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | Don't cache queries for schema statements
| * | | | | | | | | | | Don't cache queries for schema statementsRyuta Kamizono2017-06-3010-55/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `test_middleware_caches` is sometimes failed since #29454. The failure is due to schema statements are affected by query caching. Bypassing query caching for schema statements to avoid the issue.
* | | | | | | | | | | | Merge pull request #29644 from wilson/unify-route-helper-visibilityMatthew Draper2017-07-012-18/+17
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Properly register "custom" URL helpers as named helpers.
| * | | | | | | | | | | | Properly register "custom" URL helpers as named helpers.Wilson Bilkovich2017-06-302-18/+16
| | |_|_|_|_|_|_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CustomUrlHelpers were introduced in ce7d5fb2e6, closing issue #22512. They currently register themselves in an ivar that is never accessed. This change removes the @custom_helpers special-case, and registers them the way named routes are normally handled. Without this, you can get route_defined?(:example_url) == false, while still being able to call url_helpers.example_url and example_path. Various popular gems such as 'rspec-rails' make use of route_defined?() when determining how to proxy method calls or whether to define a route.
* | | | | | | | | | | | Merge pull request #28808 from fschwahn/fix-polymorphic-automic-inverseMatthew Draper2017-07-013-10/+19
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | Fix automatic inverse for polymorphic interfaces
| * | | | | | | | | | | | Add regression test for setting inverse instances on normal & polymorphic ↵Fabian Schwahn2017-04-201-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | relationships when building objects on new records
| * | | | | | | | | | | | Remove :polymorphic from INVALID_AUTOMATIC_INVERSE_OPTIONSFabian Schwahn2017-04-202-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes automatic inverse detection possible for polymorphic :has_one & :has_many possible. This resolves a number of issues, eg. `touch: true` on polymorphic relationships (#16446) and automatically setting inverse associations on newly built objects (#15028, #21843).
* | | | | | | | | | | | | Merge pull request #29536 from nickrivadeneira/fix-yamlMatthew Draper2017-07-012-1/+9
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure `false` is preserved in attr serialization
| * | | | | | | | | | | | | Ensure `false` is preserved in attr serializationNick Rivadeneira2017-06-222-1/+9
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | [Action Cable] require => require_relativeAkira Matsuda2017-07-013-3/+3
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | [Active Job] require => require_relativeAkira Matsuda2017-07-014-13/+13
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | [Action Mailer] require => require_relativeAkira Matsuda2017-07-012-4/+4
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | [Action View] require => require_relativeAkira Matsuda2017-07-0125-35/+35
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | [Action Pack] require => require_relativeAkira Matsuda2017-07-011-1/+1
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | [Action Controller] require => require_relativeAkira Matsuda2017-07-017-9/+9
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | [Abstract Controller] require => require_relativeAkira Matsuda2017-07-012-2/+2
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | [Action Dispatch] require => require_relativeAkira Matsuda2017-07-0127-57/+57
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | [Active Record] require => require_relativeAkira Matsuda2017-07-0135-135/+135
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | [Active Model] require => require_relativeAkira Matsuda2017-07-017-23/+23
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | [Active Support] require => require_relativeAkira Matsuda2017-07-01129-383/+383
| | | | | | | | | | | | | |
| | | | | | | | | | | | * | [Railties] require => require_relativeAkira Matsuda2017-07-0171-107/+107
| |_|_|_|_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | |
* | | | | | | | | | | | | Merge pull request #29629 from koic/fix_next_version_of_railsMatthew Draper2017-07-011-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the next version of Rails from 5.3 to 6.0
| * | | | | | | | | | | | | Fix the next version of Rails from 5.3 to 6.0Koichi ITO2017-06-301-1/+1
| | | | | | | | | | | | | |
* | | | | | | | | | | | | | Merge pull request #29646 from y-yagi/fix_format_of_ap_to_sRyuta Kamizono2017-07-011-0/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix format of `ActionController::Parameters#to_s` doc [ci skip]
| * | | | | | | | | | | | | | Fix format of `ActionController::Parameters#to_s` doc [ci skip]yuuji.yaginuma2017-07-011-0/+1
| | |_|_|/ / / / / / / / / / | |/| | | | | | | | | | | |
* | | | | | | | | | | | | | Merge pull request #29643 from fatkodima/delete_stale_commentRyuta Kamizono2017-07-011-2/+0
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / |/| | | | | | | | | | | | | Delete stale comment for `AR::Associations::Builder::CollectionAssociation` [ci skip]
| * | | | | | | | | | | | | Delete stale comment for `AR::Associations::Builder::CollectionAssociation`fatkodima2017-07-011-2/+0
|/ / / / / / / / / / / / /
* | | | | | | | | | | | | Add CHANGELOG for #29630 [ci skip]Prathamesh Sonpatki2017-07-011-0/+4
| | | | | | | | | | | | |