class Dry::Schema::DSL

def call

Other tags:
    Api: - private

Returns:
  • (Processor, Params, JSON) -
def call
  all_steps = parents.map(&:steps) + [steps]
  result_steps = all_steps.inject { |result, steps| result.merge(steps) }
  result_steps[:key_validator] = key_validator if config.validate_keys
  result_steps[:key_coercer] = key_coercer
  result_steps[:value_coercer] = value_coercer
  result_steps[:rule_applier] = rule_applier
  result_steps[:filter_schema] = filter_schema.rule_applier if filter_rules?
  processor_type.new(schema_dsl: self, steps: result_steps)
end