diff options
Diffstat (limited to 'guides/source/constant_autoloading_and_reloading.md')
-rw-r--r-- | guides/source/constant_autoloading_and_reloading.md | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/guides/source/constant_autoloading_and_reloading.md b/guides/source/constant_autoloading_and_reloading.md index a6b270e06d..e024300f3a 100644 --- a/guides/source/constant_autoloading_and_reloading.md +++ b/guides/source/constant_autoloading_and_reloading.md @@ -7,7 +7,7 @@ After reading this guide, you will know: * Key aspects of Ruby constants -* What is `autoload_paths` +* The purpose of `autoload_paths` * How constant autoloading works @@ -15,6 +15,8 @@ After reading this guide, you will know: * How constant reloading works +* Why autoloading is not based on `Module#autoload` + * Solutions to common autoloading gotchas -------------------------------------------------------------------------------- @@ -225,13 +227,13 @@ constants on the fly. ### Constants are Stored in Modules Constants belong to modules in a very literal sense. Classes and modules have -a constant table, think of it as a hash table. +a constant table; think of it as a hash table. -Let's analyze an example to really understand what that means. While in a -casual setting some abuses of language are customary, the exposition is going -to be exact here for didactic purposes. +Let's analyze an example to really understand what that means. While figurative +language may be customary in a casual setting, for didactic purposes we will +be literal and precise. -Let's consider the following module definition: +Consider the following module definition: ```ruby module Colors @@ -648,7 +650,7 @@ trigger the heuristic is defined in the conflicting place. When a module acts as a namespace, Rails does not require the application to defines a file for it, a directory matching the namespace is enough. -Suppose an application has a backoffice whose controllers are stored in +Suppose an application has a back office whose controllers are stored in `app/controllers/admin`. If the `Admin` module is not yet loaded when `Admin::UsersController` is hit, Rails needs first to autoload the constant `Admin`. |