lib/muack/mock.rb in muack-1.1.1 vs lib/muack/mock.rb in muack-1.1.2

- old
+ new

@@ -110,21 +110,11 @@ end end # used for Muack::Session#reset def __mock_reset - __mock_injected.each_value do |defi| - object.singleton_class.module_eval do - remove_method(defi.msg) - # restore original method - if instance_methods(false).include?(defi.original_method) || - private_instance_methods(false).include?(defi.original_method) - alias_method(defi.msg, defi.original_method) - remove_method(defi.original_method) - end - end - end + __mock_injected.each_value{ |defi| __mock_reset_method(defi) } end protected # get warnings for private attributes attr_accessor :__mock_defis, :__mock_disps, :__mock_injected @@ -132,9 +122,21 @@ def __mock_inject_method defi __mock_injected[defi.msg] = defi target = object.singleton_class # would be the class in AnyInstanceOf privilege = Mock.store_original_method(target, defi) __mock_inject_mock_method(target, defi, privilege) + end + + def __mock_reset_method defi + object.singleton_class.module_eval do + remove_method(defi.msg) + # restore original method + if instance_methods(false).include?(defi.original_method) || + private_instance_methods(false).include?(defi.original_method) + alias_method(defi.msg, defi.original_method) + remove_method(defi.original_method) + end + end end def self.store_original_method klass, defi privilege = if klass.instance_methods(false).include?(defi.msg) :public # TODO: forget about protected methods?