class Dry::Transaction::StepAdapter
@api private
Attributes
adapter[R]
operation[R]
options[R]
Public Class Methods
[](adapter, operation, options)
click to toggle source
# File lib/dry/transaction/step_adapter.rb, line 9 def self.[](adapter, operation, options) if adapter.is_a?(self) adapter.with(operation, options) else new(adapter, operation, options) end end
new(adapter, operation, options)
click to toggle source
# File lib/dry/transaction/step_adapter.rb, line 21 def initialize(adapter, operation, options) @adapter = case adapter when Proc, Method adapter else adapter.method(:call) end @operation = Callable[operation] @options = options @yields = @adapter .parameters .any? { |type, _| type == :block } end
Public Instance Methods
call(args, &block)
click to toggle source
# File lib/dry/transaction/step_adapter.rb, line 42 def call(args, &block) adapter.(operation, options, args, &block) end
with(operation = self.operation, new_options = {})
click to toggle source
# File lib/dry/transaction/step_adapter.rb, line 46 def with(operation = self.operation, new_options = {}) self.class.new(adapter, operation, options.merge(new_options)) end
yields?()
click to toggle source
# File lib/dry/transaction/step_adapter.rb, line 38 def yields? @yields end