1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
module CodeLoadingSpecs
# The #require instance method is private, so this class enables
# calling #require like obj.require(file). This is used to share
# specs between Kernel#require and Kernel.require.
class Method
def require(name)
super name
end
def load(name, wrap=false)
super
end
end
def self.spec_setup
@saved_loaded_features = $LOADED_FEATURES.clone
$LOADED_FEATURES.clear
@saved_load_path = $LOAD_PATH.clone
$LOAD_PATH.clear
ScratchPad.record []
end
def self.spec_cleanup
$LOADED_FEATURES.replace @saved_loaded_features
$LOAD_PATH.replace @saved_load_path
ScratchPad.clear
end
end
|