lib/isolator/adapter_builder.rb in isolator-1.0.1 vs lib/isolator/adapter_builder.rb in isolator-1.1.0

- old
+ new

@@ -11,10 +11,13 @@ extend Isolator::Adapters::Base self.exception_class = options[:exception_class] if options.key?(:exception_class) self.exception_message = options[:exception_message] if options.key?(:exception_message) self.details_message = options[:details_message] if options.key?(:details_message) + if options.key?(:ignore_on) + define_singleton_method(:ignore_on?, &options[:ignore_on]) + end end mod = build_mod(method_name, adapter) if target && mod target.prepend(mod) @@ -37,10 +40,10 @@ define_method(adapter_name) { adapter } module_eval <<~RUBY, __FILE__, __LINE__ + 1 def #{method_name}(...) # check if we are even notifying before calling `caller`, which is well known to be slow - #{adapter_name}.notify(caller, self, ...) if #{adapter_name}.notify?(...) + #{adapter_name}.notify(caller, self, ...) if #{adapter_name}.notify_on?(self, ...) super end RUBY end end