class RubyIndexer::Entry::Namespace
@abstract
def ancestor_hash
def ancestor_hash mixin_operation_module_names.hash end
def initialize(nesting, uri, location, name_location, comments)
def initialize(nesting, uri, location, name_location, comments) @name = nesting.join("::") #: String # The original nesting where this namespace was discovered @nesting = nesting super(@name, uri, location, comments) @name_location = name_location end
def mixin_operation_module_names
def mixin_operation_module_names mixin_operations.map(&:module_name) end
def mixin_operations
and prepended
code. Maintaining the order is essential to linearize ancestors the right way when a module is both included
Stores all explicit prepend, include and extend operations in the exact order they were discovered in the source
def mixin_operations @mixin_operations ||= [] #: Array[ModuleOperation]? end