Sha256: bea67ed91761a838b93cf806a090e95fa286b290463130d8d6cb3bd737dd1b3f

Contents?: true

Size: 638 Bytes

Versions: 1

Compression:

Stored size: 638 Bytes

Contents

# frozen_string_literal: true

module Trailblazer
  class Finder
    module Activity
      class ProcessPredicates < Trailblazer::Activity::Railway
        def set_properties_handler(ctx, **)
          return true if ctx[:process].nil?

          ctx[:process].each do |key, _value|
            next if ctx[:process][key][:predicate].nil?

            ctx[:process][key][:handler] = Utils::Extra.apply_handler(
              (Object.const_get(ctx[:orm][:predicates]).__send__ "set_#{ctx[:process][key][:predicate]}_handler".to_sym)
            )
          end
        end

        step :set_properties_handler
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
trailblazer-finder-0.10.0 lib/trailblazer/finder/activity/process_predicates.rb