16 lines
275 B
Ruby
16 lines
275 B
Ruby
|
module Kernel
|
||
|
alias_method :real_at_exit, :at_exit
|
||
|
|
||
|
def at_exit(&block)
|
||
|
unless ENV['DISABLE_AT_EXIT']
|
||
|
real_at_exit(&block)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def with_disabled_at_exit(&block)
|
||
|
ENV['DISABLE_AT_EXIT'] = '1'
|
||
|
yield
|
||
|
ENV.delete('DISABLE_AT_EXIT')
|
||
|
end
|
||
|
end
|