aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove driver-specific hard-coding in the tests.Dennis Taylor2017-07-071-9/+1
|
* Rename the StatementInvalid test method for clarity.Dennis Taylor2017-07-071-1/+1
|
* Fix changelog wording as suggested.Dennis Taylor2017-07-071-2/+2
|
* Use StandardError instead of RuntimeError.Dennis Taylor2017-07-061-2/+2
| | | | Whoops.
* Fix indentation style for private method.Dennis Taylor2017-07-051-5/+5
|
* Don't translate non-database exceptions.Dennis Taylor2017-07-053-2/+39
| | | | The AbstractAdapter will translate all StandardErrors generated during the course of a query into ActiveRecord::StatementInvalids. Unfortunately, it'll also mangle non-database-related errors generated in ActiveSupport::Notification callbacks after the query has successfully completed. This should prevent it from translating errors from ActiveSupport::Notifications.
* Merge pull request #29662 from deivid-rodriguez/engine_multiple_mount_pointsRafael França2017-07-055-10/+112
|\ | | | | Allow mounting same engine under several locations
| * Allow mounting same engine under several locationsDavid Rodríguez2017-07-055-10/+112
| |
* | Merge pull request #29676 from lugray/fix_date_time_serializeRafael França2017-07-052-0/+17
|\ \ | | | | | | Fix `ActiveModel::Type::DateTime#serialize`
| * | Fix `ActiveModel::Type::DateTime#serialize`Lisa Ugray2017-07-052-0/+17
| |/ | | | | | | | | `ActiveModel::Type::DateTime#serialize` should return a `Time` object so that finding by a datetime column works correctly.
* | Merge pull request #28668 from Dorian/mention-time-parse-argument-errorAaron Patterson2017-07-052-1/+13
|\ \ | |/ |/| Mention Time.zone.parse possibly throwing ArgumentError
| * Mention and test for possible ArgumentError when parsing timesDorian Marié2017-04-082-1/+13
| |
* | Merge pull request #29677 from eugeneius/parameters_configuration_testsRafael Mendonça França2017-07-051-0/+36
|\ \ | | | | | | | | | Fix Parameters configuration integration tests
| * | Fix Parameters configuration integration testsEugene Kenny2017-07-041-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | These tests relied on `ActionController::Parameters` being configured as part of the boot process; since that now happens lazily we need to force `ActionController::Base` to load so that we can test the behaviour. The new tests added here ensure that `ActionController::Parameters` can be configured from an initializer, which was broken until recently.
* | | Force ActionController::Base lazy laod hooks to runRafael Mendonça França2017-07-051-0/+12
| | | | | | | | | | | | | | | | | | | | | Now that the parameters configurations are only loaded when ActionController::Base is we need to foce them to load in our tests. In an application this is not needed since every request already load the controllers.
* | | Merge pull request #29690 from kamipo/fix_warningsRafael França2017-07-051-2/+2
|\ \ \ | | | | | | | | Fix warning: `*' interpreted as argument prefix
| * | | Fix warning: `*' interpreted as argument prefixRyuta Kamizono2017-07-061-2/+2
|/ / / | | | | | | | | | | | | | | | | | | ``` /Users/kamipo/src/github.com/rails/rails/activesupport/test/core_ext/module_test.rb:402: warning: `*' interpreted as argument prefix /Users/kamipo/src/github.com/rails/rails/activesupport/test/core_ext/module_test.rb:420: warning: `*' interpreted as argument prefix ```
* | | Merge pull request #29687 from k3rni/private-prefixed-delegateMatthew Draper2017-07-062-1/+39
|\ \ \ | | | | | | | | | | | | Return prefixed method names from `Module.delegate`, if using prefixes
| * | | Use `map` in `delegate` so that actual prefixed method names are returned, ↵Krzysztof Zych2017-07-052-1/+40
|/ / / | | | | | | | | | if using prefix version.
* | | Merge pull request #29413 from kamipo/fix_association_with_scope_including_joinsRafael França2017-07-049-70/+60
|\ \ \ | | | | | | | | Fix association with scope including joins
| * | | Fix eager loading association with scope including joinsRyuta Kamizono2017-07-044-11/+28
| | | | | | | | | | | | | | | | Fixes #28324.
| * | | Fix preloading association with scope including joinsRyuta Kamizono2017-07-046-49/+32
| | | |
| * | | Remove unused `association_key` and `table` methods in `Preloader::Association`Ryuta Kamizono2017-07-041-10/+0
| | | | | | | | | | | | | | | | These are no longer used since b98668decb9712f26118de57623fd15d7d28646d.
* | | | Merge pull request #29667 from kamipo/add_missing_attr_name_to_sRafael França2017-07-041-2/+3
|\ \ \ \ | |_|/ / |/| | | Add missing `attr_name.to_s` in `AttributeMutationTracker`
| * | | Add missing `attr_name.to_s` in `AttributeMutationTracker`Ryuta Kamizono2017-07-041-2/+3
| |/ / | | | | | | | | | | | | | | | | | | `attributes` (`values` in `LazyAttributeHash` in `AttributeSet`) has string keys, not symbols. Fixes #29665.
* | | Fix endRafael Mendonça França2017-07-041-0/+1
| | |
* | | Load the Parameters configurations on the right timeRafael Mendonça França2017-07-041-7/+8
| | | | | | | | | | | | | | | | | | | | | We need to configure it only when ActionController::Base is loaded otherwise configs on initializers will not work. Closes #29527.
* | | Commit gemfile.lockRafael Mendonça França2017-07-041-1/+1
| | |
* | | Merge pull request #29653 from ↵Rafael França2017-07-043-6/+9
|\ \ \ | | | | | | | | | | | | | | | | kamipo/fix_test_copying_migrations_preserving_magic_comments Fix `test_copying_migrations_preserving_magic_comments`
| * | | Fix `test_copying_migrations_preserving_magic_comments`Ryuta Kamizono2017-07-023-6/+9
| | | | | | | | | | | | | | | | | | | | Since #29540, `# frozen_string_literal: true` included original migration files.
* | | | Merge pull request #29675 from jules2689/masterRafael França2017-07-041-1/+1
|\ \ \ \ | | | | | | | | | | Allow the use of Bundler 2.0
| * | | | Allow the use of Bundler 2.0Julian Nadeau2017-07-041-1/+1
| | | | |
* | | | | Merge pull request #29666 from kamipo/deprecate_database_specific_json_typesRafael França2017-07-043-14/+0
|\ \ \ \ \ | |/ / / / |/| | | | Deprecate database specific JSON types
| * | | | Remove database specific JSON typesRyuta Kamizono2017-07-053-14/+0
| | |/ / | |/| | | | | | | | | | We already have database agnostic `Type::Json` since #29220.
* | | | Merge pull request #29668 from y-yagi/add_missing_status_code_and_symbolArun Agrawal2017-07-041-0/+2
|\ \ \ \ | |/ / / |/| | | Add missing http status codes [ci skip]
| * | | Add missing http status codes [ci skip]yuuji.yaginuma2017-07-041-0/+2
| | | | | | | | | | | | | | | | | | | | Ref: https://github.com/rack/rack/commit/5401f776f660b1f8d0e0650ba78478d7488eff75, https://github.com/rack/rack/commit/73e08279d4433ca66cf22157a40dba562629031a
* | | | Add backticks [ci skip]Ryuta Kamizono2017-07-032-3/+3
| | | |
* | | | Merge pull request #29638 from amatsuda/require_relative_2017Xavier Noria2017-07-02313-773/+773
|\ \ \ \ | | | | | | | | | | Using require_relative in the Rails codebase
| * \ \ \ Merge branch 'master' into require_relative_2017Xavier Noria2017-07-02100-495/+796
| |\ \ \ \ | |/ / / / |/| | | |
* | | | | Merge pull request #29658 from kamipo/remove_redundant_assert_respond_toKasper Timm Hansen2017-07-023-42/+3
|\ \ \ \ \ | | | | | | | | | | | | Remove redundant `assert_respond_to`
| * | | | | Remove redundant `assert_respond_to`Ryuta Kamizono2017-07-033-42/+3
| | | | | | | | | | | | | | | | | | | | | | | | It is covered by following assertion.
* | | | | | Expectation firstAkira Matsuda2017-07-023-9/+9
| | | | | |
* | | | | | :warning: "Use assert_nil if expecting nil. This will fail in Minitest 6."Akira Matsuda2017-07-021-1/+1
|/ / / / /
* | | | | Merge pull request #29566 from eugeneius/wrap_parameters_queryKasper Timm Hansen2017-07-022-7/+10
|\ \ \ \ \ | | | | | | | | | | | | Don't wrap parameters if query parameter exists
| * | | | | Don't wrap parameters if query parameter existsEugene Kenny2017-06-252-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to avoid overwriting a query parameter with the wrapped parameters hash. Previously this was implemented by merging the wrapped parameters at the root level if the key already existed, which was effectively a no-op. The query parameter was still overwritten in the filtered parameters hash, however. We can fix that discrepancy with a simpler implementation and less unnecessary work by skipping parameter wrapping entirely if the key was sent as a query parameter.
* | | | | | Merge pull request #29654 from kamipo/fix_deprecation_messageKasper Timm Hansen2017-07-021-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fix removed version 5.2 to 6.0 in the deprecation message
| * | | | | | Fix removed version 5.2 to 6.0 in the deprecation messageRyuta Kamizono2017-07-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Because the deprecation message is not yet released.
* | | | | | | Merge pull request #29656 from y-yagi/move_tmp_clear_testKasper Timm Hansen2017-07-022-7/+7
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Move test related to `tmp:clear` task to `tmp_test.rb`
| * | | | | | Move test related to `tmp:clear` task to `tmp_test.rb`yuuji.yaginuma2017-07-022-7/+7
|/ / / / / /
* | | | | | 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