class Openapi3Parser::NodeFactory::RequestBody::ContentValidator

Public Class Methods

call(*args) click to toggle source
# File lib/openapi3_parser/node_factory/request_body.rb, line 28
def self.call(*args)
  new.call(*args)
end

Public Instance Methods

call(validatable) click to toggle source
# File lib/openapi3_parser/node_factory/request_body.rb, line 32
def call(validatable)
  # This validation isn't actually mentioned in the spec, but it
  # doesn't seem to make sense if this is an empty hash.
  return validatable.add_error("Expected to have at least 1 item") if validatable.input.size.zero?

  validatable.input.each_key do |key|
    message = Validators::MediaType.call(key)
    next unless message

    context = Context.next_field(validatable.context, key)
    validatable.add_error(message, context)
  end
end