require/autoload_reload_warning.rb
tests/_examples/require/autoload_reload_warning.rb in the metorex repository.
module Namespace
Holder = :placeholder
end
path = File.expand_path("autoload_reload/defines_constant.rb", File.dirname(__FILE__))
registry = Module.new { autoload :VALUE, path }
Namespace::Holder = registry
copy = registry.dup
puts registry.autoload?(:VALUE).nil?.inspect
puts copy.autoload?(:VALUE).nil?.inspect
puts registry::VALUE.inspect
begin
copy::VALUE
rescue NameError
puts "copy raises NameError"
end
Output:
false
false
:loaded
copy raises NameError