runtime/at_exit_handlers.rb
tests/_examples/runtime/at_exit_handlers.rb in the metorex repository.
begin
at_exit
rescue ArgumentError => error
puts error.message
end
puts Kernel.private_instance_methods.include? :at_exit
at_exit { puts "registered first" }
at_exit do
puts "outer"
at_exit { puts "nested" }
puts "outer done"
end
at_exit { puts "registered last" }
puts "main body"
Output:
called without a block
true
main body
registered last
outer
outer done
nested
registered first