For example, you see files called rails/actionpack/lib/action_controller/base.rb
which adds methods and such to the open module ActionController. What scope is ActionController in? Is it just called the global scope? Obviously, there is namespace resolution lookup. And a good example of this is in the Base class of the same file. It references one module like this: AbstractController::Layouts and another module like this: Rendering. One uses the :: namespace resolution operator, because Layouts module is not within the scope that class Base is, which is module ActionController scope, so it has to reference AbstractController which must be in the GLOBAL scope in order for ruby to find it and then it can look there to find Layouts. In contrast, Rendering is defined within the ActionController scope, and since class Base is defined within the ActionController scope as well, it doesn't need to use the :: operator. It can simply search within that scope and find the module Rendering. So what is that global scope that ActionController and AbstractController are in within Rails? -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.