diff options
author | Dillon Welch <daw0328@gmail.com> | 2017-11-03 19:58:28 -0700 |
---|---|---|
committer | Dillon Welch <daw0328@gmail.com> | 2017-11-03 19:58:28 -0700 |
commit | 0f28957edd6a9c281491c854b455180efc040a1c (patch) | |
tree | 577d46d88937d4cc811e6860ce3cbdb2a1dad27a /guides/source | |
parent | ec13ef75260f6d143e947b0e5176e35e4c1229c2 (diff) | |
parent | 9ec67362054e874ed905310a79b670941fa397af (diff) | |
download | rails-0f28957edd6a9c281491c854b455180efc040a1c.tar.gz rails-0f28957edd6a9c281491c854b455180efc040a1c.tar.bz2 rails-0f28957edd6a9c281491c854b455180efc040a1c.zip |
Merge remote-tracking branch 'upstream/master' into nofollow-change
Diffstat (limited to 'guides/source')
-rw-r--r-- | guides/source/5_1_release_notes.md | 4 | ||||
-rw-r--r-- | guides/source/autoloading_and_reloading_constants.md | 10 | ||||
-rw-r--r-- | guides/source/engines.md | 1 |
3 files changed, 14 insertions, 1 deletions
diff --git a/guides/source/5_1_release_notes.md b/guides/source/5_1_release_notes.md index 80c9da6446..6b9a950a42 100644 --- a/guides/source/5_1_release_notes.md +++ b/guides/source/5_1_release_notes.md @@ -350,6 +350,10 @@ Please refer to the [Changelog][action-pack] for detailed changes. * Removed deprecated methods related to controller filters. ([Commit](https://github.com/rails/rails/commit/d7be30e8babf5e37a891522869e7b0191b79b757)) + +* Removed deprecated support to `:text` and `:nothing` in `render`. + ([Commit](https://github.com/rails/rails/commit/79a5ea9eadb4d43b62afacedc0706cbe88c54496), + [Commit](https://github.com/rails/rails/commit/57e1c99a280bdc1b324936a690350320a1cd8111)) ### Deprecations diff --git a/guides/source/autoloading_and_reloading_constants.md b/guides/source/autoloading_and_reloading_constants.md index ede0324a51..dea87a18f8 100644 --- a/guides/source/autoloading_and_reloading_constants.md +++ b/guides/source/autoloading_and_reloading_constants.md @@ -330,11 +330,17 @@ its resolution next. Let's define *parent* to be that qualifying class or module object, that is, `Billing` in the example above. The algorithm for qualified constants goes like this: -1. The constant is looked up in the parent and its ancestors. +1. The constant is looked up in the parent and its ancestors. In Ruby >= 2.5, +`Object` is skipped if present among the ancestors. `Kernel` and `BasicObject` +are still checked though. 2. If the lookup fails, `const_missing` is invoked in the parent. The default implementation of `const_missing` raises `NameError`, but it can be overridden. +INFO. In Ruby < 2.5 `String::Hash` evaluates to `Hash` and the interpreter +issues a warning: "toplevel constant Hash referenced by String::Hash". Starting +with 2.5, `String::Hash` raises `NameError` because `Object` is skipped. + As you see, this algorithm is simpler than the one for relative constants. In particular, the nesting plays no role here, and modules are not special-cased, if neither they nor their ancestors have the constants, `Object` is **not** @@ -1178,6 +1184,8 @@ end #### Qualified References +WARNING. This gotcha is only possible in Ruby < 2.5. + Given ```ruby diff --git a/guides/source/engines.md b/guides/source/engines.md index a9b841e3bf..b226eac347 100644 --- a/guides/source/engines.md +++ b/guides/source/engines.md @@ -1501,6 +1501,7 @@ To hook into the initialization process of one of the following classes use the | `ActionController::Base` | `action_controller` | | `ActionController::TestCase` | `action_controller_test_case` | | `ActionDispatch::IntegrationTest` | `action_dispatch_integration_test` | +| `ActionDispatch::SystemTestCase` | `action_dispatch_system_test_case` | | `ActionMailer::Base` | `action_mailer` | | `ActionMailer::TestCase` | `action_mailer_test_case` | | `ActionView::Base` | `action_view` | |