oop/autoload_during_test.rb

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

module Outer
end

$during_value = nil
$check = -> { defined?(Outer::DuringAutoloadAfterDefine) }

target_path = File.expand_path("autoload_during_target.rb", __dir__)
Outer.autoload :DuringAutoloadAfterDefine, target_path

before = $check.call
puts "before: #{before.inspect}"

Outer.const_get(:DuringAutoloadAfterDefine)
puts "during (after const assigned in fixture): #{$during_value.inspect}"

after = $check.call
puts "after: #{after.inspect}"