Module: Isolator::AdapterBuilder
- Defined in:
- lib/isolator/adapter_builder.rb
Overview
Builds adapter from provided params
Class Method Summary collapse
Class Method Details
.call(target: nil, method_name: nil, **options) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/isolator/adapter_builder.rb', line 9 def call(target: nil, method_name: nil, **) adapter = Module.new do extend Isolator::Adapters::Base self.exception_class = [:exception_class] if .key?(:exception_class) self. = [:exception_message] if .key?(:exception_message) self. = [:details_message] if .key?(:details_message) if .key?(:ignore_on) define_singleton_method(:ignore_on?, &[:ignore_on]) end end mod = build_mod(method_name, adapter) if target && mod target.prepend(mod) adapter.define_singleton_method(:restore) do mod.remove_method(method_name) end end adapter end |