mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
23 lines
403 B
Ruby
23 lines
403 B
Ruby
|
module FileSpecs
|
||
|
class SubString < String; end
|
||
|
|
||
|
def self.make_closer(obj, exc=nil)
|
||
|
ScratchPad << :file_opened
|
||
|
|
||
|
class << obj
|
||
|
attr_accessor :close_exception
|
||
|
|
||
|
alias_method :original_close, :close
|
||
|
|
||
|
def close
|
||
|
original_close
|
||
|
ScratchPad << :file_closed
|
||
|
|
||
|
raise @close_exception if @close_exception
|
||
|
end
|
||
|
end
|
||
|
|
||
|
obj.close_exception = exc
|
||
|
end
|
||
|
end
|