Class: Skooma::Objects::Parameter::Keywords::Schema

Inherits:
Keywords::OAS31::Schema show all
Defined in:
lib/skooma/objects/parameter/keywords/schema.rb

Instance Method Summary collapse

Methods inherited from Keywords::OAS31::Schema

#each_schema

Instance Method Details

#evaluate(instance, result) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/skooma/objects/parameter/keywords/schema.rb', line 11

def evaluate(instance, result)
  value = ValueParser.call(instance, result, schema: json)
  return result.discard if value.nil?

  # Parameters coerce deeply (their values arrive as all-strings);
  # bodies keep OAS31::Schema's shallow `coerce`, so body validation
  # is unaffected.
  json.evaluate(value.deep_coerce(json), result)
end