class Trailblazer::Finder::Activities::PrepareProperties

Public Instance Methods

check_property_types(ctx, **) click to toggle source
# File lib/trailblazer/finder/activities/prepare_properties.rb, line 7
def check_property_types(ctx, **)
  properties = ctx[:config][:properties] || {}
  return true if properties.empty?

  properties.each do |key, _value|
    return !properties[key][:type].nil?
  end
end
invalid_properties_error(ctx, **) click to toggle source
# File lib/trailblazer/finder/activities/prepare_properties.rb, line 29
def invalid_properties_error(ctx, **)
  (ctx[:errors] ||= []) << {properties: "One or more properties are missing a valid type"}
end
set_properties(ctx, **) click to toggle source
# File lib/trailblazer/finder/activities/prepare_properties.rb, line 33
def set_properties(ctx, **)
  ctx[:properties] = ctx[:config][:properties]
end
validate_property_types(ctx, **) click to toggle source
# File lib/trailblazer/finder/activities/prepare_properties.rb, line 16
def validate_property_types(ctx, **)
  properties = ctx[:config][:properties] || {}
  return true if properties.empty?

  properties.each do |key, _value|
    if LEGACY_DRY_TYPES
      return properties[key][:type].class.ancestors.include?(::Dry::Types::Definition)
    else
      return properties[key][:type].class.ancestors.include?(::Dry::Types::Nominal)
    end
  end
end