Sha256: 29495f1ce4cf16c69a9421f51682ff07161ad980029c3fd8f8db9a877760b54b
Contents?: true
Size: 717 Bytes
Versions: 5
Compression:
Stored size: 717 Bytes
Contents
module Dry module Transaction class OperationResolver < Module def initialize(container) module_exec(container) do |ops_container| define_method :initialize do |**kwargs| operation_kwargs = self.class.steps.select(&:operation_name).map { |step| operation = kwargs.fetch(step.step_name) { if ops_container && ops_container.key?(step.operation_name) ops_container[step.operation_name] else nil end } [step.step_name, operation] }.to_h super(**kwargs, **operation_kwargs) end end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems