Skip to main content

namespaces_with_module_nesting

📦 Creating Self-contained Namespaces with Module.nesting​

Module.nesting gives you introspection on the current module stack, useful for generating contextual constants or auto-loading submodules. This aids in building modular architectures without hardcoding paths.

module Admin
module Reports
def self.load_all
Module.nesting.map(&:name)
end
end
end

puts Admin::Reports.load_all
# => ["Admin::Reports", "Admin"]

You can leverage this to derive default file paths or constant scopes dynamically.