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