aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #36860 from ↵HEADmasterEileen M. Uchitelle2019-08-051-1/+1
|\ | | | | | | | | cpruitt/update-gemspec-rails-html-sanitizer-version Update rails-html-sanitizer to 1.1.0 in actionview.gemspec
| * Update rails-html-sanitizer to 1.1.0 in actionview.gemspecCliff Pruitt2019-08-051-1/+1
|/ | | | | | Commit https://github.com/rails/rails/commit/52f0b050e25cac6d9571d71c9f74ea583d8aa2b0 replaces `white_list_sanitizer` with `safe_list_sanitizer`. This is a breaking change unless the installed version of `rails-html-sanitizer` is `>= 1.1.0`. This commit updates the minimum version in `actionview/actionview.gemspec` to `1.1.0`.
* Merge pull request #36823 from ↵Eileen M. Uchitelle2019-08-051-0/+3
|\ | | | | | | | | abhaynikam/add-multiple-database-guide-entry-to-release-notes Added multiple database Active Record guide entry to the release notes
| * Added multiple database Active Record guide entry to the release notes [ci skip]Abhay Nikam2019-08-011-0/+3
| |
* | Merge pull request #36857 from ↵Vipul A M2019-08-051-1/+1
|\ \ | | | | | | | | | | | | akshaymohite/correct-config-option-in-release-notes Corrected config option path in release notes for deprecation release notes of Rails 6 [ci skip]
| * | Corrected deperecation config option path for ↵Akshay Mohite2019-08-051-1/+1
|/ / | | | | | | active_record.sqlite3.represent_boolean_as_integer option in release notes. [ci skip]
* | Remove unused requireKasper Timm Hansen2019-08-051-1/+0
| |
* | Merge pull request #36537 from quadule/fix-cookie-rotation-hash-pollutionKasper Timm Hansen2019-08-052-2/+19
|\ \ | | | | | | Fix cookie modification during rotation
| * | Prevent serialized hash from being used as optionsMilo Winningham2019-06-221-2/+6
| | |
| * | Add test for cookie being modified by rotationMilo Winningham2019-06-221-0/+13
| | |
* | | Use newly released rails-html-sanitizerKasper Timm Hansen2019-08-051-1/+1
| | |
* | | Update sanitizer in ActionView::Helpers::SanitizeHelperJuanito Fatas2019-08-053-22/+18
| | | | | | | | | | | | | | | - The sanitizer has been changed to safe_list_sanitizer. - deprecate white_list_sanitizer
* | | handle passing in primary key to unique_by, and handle primary keys missing ↵Lachlan Sylvester2019-08-052-2/+22
| | | | | | | | | | | | indexes
* | | Use Thread.pass instead of Kernel.sleep to trigger race conditionGuilherme Mansur2019-08-052-21/+12
| | |
* | | Able to initalize default value for thread_mattr_*Guilherme Mansur2019-08-053-16/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added the ability to initialize `thread_mattr_*` methods with default values like so: ``` ruby class MyClass thread_attr_reader :foo, default: :foo thread_attr_writer :bar, default: :bar thread_attr_accessor: baz do "baz" end end ``` This is consistent with the api exposed by `mattr_accessor`.
* | | Mention how to use webpacker in updated Rails apps [ci skip]Prathamesh Sonpatki2019-08-041-0/+14
| | |
* | | Merge pull request #36845 from eileencodes/fix-pg-closed-connectionEileen M. Uchitelle2019-08-041-6/+11
|\ \ \ | | | | | | | | Fix `PG::ConnectionBad` error when running fixtures
| * | | Fix `PG::ConnectionBad` error when running fixtureseileencodes2019-08-021-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At first this appeared to be a multi-db bug but after some invesitgation it was clear that this can occur just by calling `establish_connection` from ApplicationRecord. After some investigation we found that this only occurred when using fixtures. The console boots fine, the server runs fine, and the tests even run fine if we used paralellization or eager loading in the tests. I tracked the issue down to the line that calls `self.connection_specification_name = name` in the SchemaMigration changes for Rails 6.0. But how can this be? That is not that major of a change? How could `connection_specification_name` be a problem? First `connection_specification_name` caches the name of the connection specificatio. Second, fixtures were incorrectly holding onto a reference to that connection. So when you went to run the tests the models wouldn't be connected and when the fixtures tried to load the data it would choke on that unconnected database. The changes here move the connection into a lambda so we can call it when we need it rather than blowing up before the model is connected. Fixes #36743 Co-authored-by: Aaron Patterson <aaron.patterson@gmail.com>
* | | | Merge pull request #36854 from eugeneius/media_type_instead_of_content_typeKasper Timm Hansen2019-08-046-4/+49
|\ \ \ \ | | | | | | | | | | Use media_type instead of content_type internally
| * | | | Use media_type instead of content_type internallyEugene Kenny2019-08-046-4/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These calls to `content_type` were triggering the deprecation from c631e8d011a7cf3e7ade4e9e8db56d2b89bd530c in upgraded applications. We can use `media_type` in all of these cases to avoid the deprecation.
* | | | | Revise flow to what was described in 03e44f9Kasper Timm Hansen2019-08-044-38/+47
| | | | |
* | | | | Revise credentials diffing flow to use a separate diff commandKasper Timm Hansen2019-08-045-105/+79
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Didn't like the complicated stuff that happened on credentials:edit. It would append to .gitattributes multiple times. Though I see why it was written that way. I'm cutting off for now, but since this new flow would require each developer to run --enable perhaps this should really be: 1. Developer enrolls Rails app by running `credentials:diff --enable` 2. credentials:edit checks .gitattributes for `diff=rails_credentials` and if the current file is covered by that. 3. If so, set up the "rails_credentials" driver automatically.
* | | | Extract diffing to separate credentials:diff commandKasper Timm Hansen2019-08-043-51/+43
| | | |
* | | | Commands already make fileutils available.Kasper Timm Hansen2019-08-031-2/+0
| | | |
* | | | Rename to Diffing and move module into credentials commandKasper Timm Hansen2019-08-033-59/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Helpers is more for sharing between commands. Since `Diffing` is only for credentials we should just keep it only for credentials. Replaces "pretty" with diffing since the former is ambiguous, while diffing captures what it does. `opt_in` seemed clunky so it's swapped for the one-word enable.
* | | | Merge pull request #36849 from yahonda/use_assert_nily-yagi2019-08-031-2/+2
|\ \ \ \ | | | | | | | | | | Address `DEPRECATED: Use assert_nil if expecting nil`
| * | | | Address `DEPRECATED: Use assert_nil if expecting nil`Yasuo Honda2019-08-031-2/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ```ruby $ cd activerecord $ bin/test test/cases/dirty_test.rb:494 ... snip ... DEPRECATED: Use assert_nil if expecting nil from /home/yahonda/git/rails/activerecord/test/cases/dirty_test.rb:494. This will fail in Minitest 6. DEPRECATED: Use assert_nil if expecting nil from /home/yahonda/git/rails/activerecord/test/cases/dirty_test.rb:511. This will fail in Minitest 6. . Finished in 0.061593s, 16.2356 runs/s, 795.5428 assertions/s. 1 runs, 49 assertions, 0 failures, 0 errors, 0 skips $ ``` Refer seattlerb/minitest#666 rails/rails#27712
* | | | Merge pull request #36846 from SGourshete/masterVipul A M2019-08-031-1/+1
|\ \ \ \ | |/ / / |/| | | typo in word compatibily -> compatibility [ci skip]
| * | | typo in word compatibily - autoloading and reloading constants guideSwapnil Gourshete2019-08-031-1/+1
|/ / /
* | | 1.hour needs core_ext to workRafael Mendonça França2019-08-021-0/+2
| | | | | | | | | | | | | | | | | | Usually the application requires the entire active support at load time but the configuration happens before it is loaded. For that reason we need to require the core_ext that we want to use in this file.
* | | Merge pull request #36843 from ↵Eileen M. Uchitelle2019-08-023-7/+43
|\ \ \ | | | | | | | | | | | | | | | | eileencodes/add-ability-to-unset-preventing-writes Add ability to unset preventing writes
| * | | Add ability to unset preventing writeseileencodes2019-08-023-7/+43
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously if an app attempts to do a write inside a read request it will be impossilbe to switch back to writing to the primary. This PR adds an argument to the `while_preventing_writes` so that we can make sure to turn it off if we're doing a write on a primary. Fixes #36830 Co-authored-by: John Crepezzi <john.crepezzi@gmail.com>
* | | Merge pull request #36814 from eileencodes/introduce-invalid-configuration-errorEileen M. Uchitelle2019-08-022-3/+23
|\ \ \ | | | | | | | | Introduce InvalidConfigurationError
| * | | Introduce InvalidConfigurationErroreileencodes2019-08-012-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In our app at work we had a faked config like this: ``` { "foo" => :bar, "bar" => { "adapter" => "memory" } } ``` This config is invalid. You can't say for foo env just have a symbol, nor would this work if you had fa foo env with just a string. A configuration must be a url or an adapter or a database. Otherwise it's invalid and we can't parse it. When this was just yaml turned into hashes you could get away with passing whatever. It wouldn't work but it wouldn't blow up either. Now that we're using objects we were returning `nil` for these but that just means we either blow up on `for_current_env` or compact the `nil`'s. I think it's a better user experience to not build the configs and raise an appropriate error. This is also an invalid config because if you do pass a string here it should be a URL. ``` { "foo" => "bar", "bar" => { "adapter" => "memory" } } ```
* | | | This test needs integer core ext for timeRafael Mendonça França2019-08-021-0/+1
| | | |
* | | | ConditionalGet needs time core_extRafael Mendonça França2019-08-021-0/+1
| | | |
* | | | Require time extensions in the job that depends on timeRafael Mendonça França2019-08-021-0/+1
| | | |
* | | | Require integer conversion for this testRafael Mendonça França2019-08-021-0/+1
| | | |
* | | | Revert "No such class since 8d2866bb80fbe81acb04f5b0c44f152f571fb29f"Rafael Mendonça França2019-08-0250-57/+57
| | | | | | | | | | | | | | | | This reverts commit dd779c9686f49f5ed6dda8ad5a1cb3b0788e1dd4.
* | | | Revert "MethodCallAssertions is a regular player of the team ↵Rafael Mendonça França2019-08-0211-3/+28
| | | | | | | | | | | | | | | | | | | | | | | | ActiveSupport::TestCase now" This reverts commit 98d0f7ebd34b858f12a12dcf37ae54fdbb5cab64.
* | | | Revert "You give jruby_skip & rubinius_skip a good name"Rafael Mendonça França2019-08-028-20/+78
| | | | | | | | | | | | | | | | This reverts commit 8d2866bb80fbe81acb04f5b0c44f152f571fb29f.
* | | | Missing require AS/core_ext/date/conversionsAkira Matsuda2019-08-022-0/+2
| | | |
* | | | hash_conversion itself does not at all depend on time extensionsAkira Matsuda2019-08-021-1/+0
| | | |
* | | | Add *_previously_was attribute methods when dirty tracking (#36836)David Heinemeier Hansson2019-08-013-1/+19
| | | |
* | | | Merge pull request #36837 from composerinteralia/no-colorRyuta Kamizono2019-08-021-5/+0
|\ \ \ \ | | | | | | | | | | Remove duplicate method definition
| * | | | Remove duplicate method definitionDaniel Colson2019-08-011-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | no_color! is already defined in [`Rails::Command::Behavior`][behavior], which gets [included into `Rails:Generators`][include]. This duplication came about in 6813edc7d9 when we introduced the Thor command structure. We have [test coverage][] to ensure this method still behaves correctly on `Rails:Generators`. [behavior]: https://github.com/rails/rails/blob/f7e91c7224560fbd3e95c238a0e8bb362799bcb7/railties/lib/rails/command/behavior.rb#L12-L14 [include]: https://github.com/rails/rails/blob/f7e91c7224560fbd3e95c238a0e8bb362799bcb7/railties/lib/rails/generators.rb#L18 [test coverage]: https://github.com/rails/rails/blob/f7e91c7224560fbd3e95c238a0e8bb362799bcb7/railties/test/generators_test.rb#L163-L168
* | | | | Lazily evaluate FileUpdateCheckerSharedTests when being includedAkira Matsuda2019-08-021-195/+199
| | | | | | | | | | | | | | | | | | | | To avoid "uninitialized constant ActiveSupport::Testing (NameError)"
* | | | | No such class since 8d2866bb80fbe81acb04f5b0c44f152f571fb29fAkira Matsuda2019-08-0250-57/+57
|/ / / /
* | | | Merge pull request #36821 from rails/virtual-attribute-typeRyuta Kamizono2019-08-021-0/+84
|\ \ \ \ | | | | | | | | | | Add tests for selecting aggregrates
| * | | | Add tests for selecting aggregatesGodfrey Chan2019-08-011-0/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tests verifies that aggregates like `AVG` can be selected as "virtual attributes" on Active Record models and have the correct column type.