Sha256: e4cabf5d58adda27f8f90b966fca9b74797abab972bbd0a39e9a3231c4009ce8
Contents?: true
Size: 718 Bytes
Versions: 2
Compression:
Stored size: 718 Bytes
Contents
# frozen_string_literal: true 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).to_h { |step| operation = kwargs.fetch(step.name) { if ops_container&.key?(step.operation_name) ops_container[step.operation_name] else nil end } [step.name, operation] } super(**kwargs, **operation_kwargs) end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dry-transaction-0.16.0 | lib/dry/transaction/operation_resolver.rb |
dry-transaction-0.15.0 | lib/dry/transaction/operation_resolver.rb |