Sha256: 27b117db560faed3a9c148ad92d11683f504bb6ec6afd6178fcb0c6c2ac6e370
Contents?: true
Size: 1003 Bytes
Versions: 4
Compression:
Stored size: 1003 Bytes
Contents
# frozen_string_literal: true module Trailblazer class Finder module Activity module Prepare # Filters Activity module Filters extend Trailblazer::Activity::Railway() module_function def validate_filters(ctx, **) filters = ctx[:config][:filters] filters.each do |key, _value| return false if !filters[key][:with].nil? && !filters[key][:with].is_a?(Symbol) end true end def invalid_filters_error(ctx, **) (ctx[:errors] ||= []) << {filters: "One or more filters are missing a with method definition"} end def set_filters(ctx, **) ctx[:filters] = ctx[:config][:filters] end step method(:validate_filters), id: :validate_filters fail method(:invalid_filters_error), id: :invalid_filters_error step method(:set_filters), id: :set_filters end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems