oop/module_subclass_instance_parens.rb

tests/_examples/oop/module_subclass_instance_parens.rb in the metorex repository.

class Namespace < Module
  attr_reader :label

  def initialize
    @label = :named
  end
end

space = Namespace.new
puts(space.label.inspect)
puts(space.class.inspect)
puts(space.is_a?(Module).inspect)
puts(space.constants.inspect)

space.const_set(:LIMIT, 10)
puts(space.constants.inspect)
puts(space.const_get(:LIMIT).inspect)

blank = Module.new do
  const_set(:A, 'A')
end
puts(blank.const_get('A').inspect)

Output:

:named
Namespace
true
[]
[:LIMIT]
10
"A"