36: def hide_original_method
37: if method_exists?(method)
38: begin
39: @original_method = stubbee._method(method)
40: if @original_method && @original_method.owner == stubbee.__metaclass__
41: @original_visibility = :public
42: if stubbee.__metaclass__.protected_instance_methods.include?(method)
43: @original_visibility = :protected
44: elsif stubbee.__metaclass__.private_instance_methods.include?(method)
45: @original_visibility = :private
46: end
47: stubbee.__metaclass__.send(:remove_method, method)
48: end
49: rescue NameError
50:
51: end
52: end
53: end