Class: Trailblazer::Finder::Activities::PrepareProperties

Inherits:
Activity::Railway
  • Object
show all
Defined in:
lib/trailblazer/finder/activities/prepare_properties.rb

Instance Method Summary collapse

Instance Method Details

#check_property_types(_ctx, config:) ⇒ Object


7
8
9
10
11
12
13
14
# File 'lib/trailblazer/finder/activities/prepare_properties.rb', line 7

def check_property_types(_ctx, config:, **)
  properties = config.properties
  return true if properties.empty?

  properties.each do |key, _value|
    return !properties[key][:type].nil?
  end
end

#invalid_properties_error(ctx) ⇒ Object


25
26
27
# File 'lib/trailblazer/finder/activities/prepare_properties.rb', line 25

def invalid_properties_error(ctx, **)
  (ctx[:errors] ||= []) << {properties: "One or more properties are missing a valid type"}
end

#set_properties(ctx, config:) ⇒ Object


29
30
31
# File 'lib/trailblazer/finder/activities/prepare_properties.rb', line 29

def set_properties(ctx, config:, **)
  ctx[:properties] = config.properties
end

#validate_property_types(_ctx, config:) ⇒ Object


16
17
18
19
20
21
22
23
# File 'lib/trailblazer/finder/activities/prepare_properties.rb', line 16

def validate_property_types(_ctx, config:, **)
  properties = config.properties
  return true if properties.empty?

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