lib/isolator/adapter_builder.rb in isolator-0.9.0 vs lib/isolator/adapter_builder.rb in isolator-0.10.0
- old
+ new
@@ -31,10 +31,11 @@
def build_mod(method_name, adapter)
return nil unless method_name
Module.new do
define_method method_name do |*args, **kwargs, &block|
- adapter.notify(caller, self, *args, **kwargs)
+ # check if we are even notifying before calling `caller`, which is well known to be slow
+ adapter.notify(caller, self, *args, **kwargs) if adapter.notify?(*args, **kwargs)
super(*args, **kwargs, &block)
end
end
end
end