class Openapi3Parser::NodeFactory::ObjectFactory::Validator::CheckFactoryValidations
Public Class Methods
call(validator)
click to toggle source
# File lib/openapi3_parser/node_factory/object_factory/validator.rb, line 135 def self.call(validator) new.call(validator) end
Public Instance Methods
call(validator)
click to toggle source
# File lib/openapi3_parser/node_factory/object_factory/validator.rb, line 139 def call(validator) run_validations(validator) errors = validator.validatable.errors return if errors.empty? || !validator.raise_on_invalid location_summary = errors.first.context.location_summary raise Error::InvalidData, "Invalid data for #{location_summary}: "\ "#{errors.first.message}" end
Private Instance Methods
run_validations(validator)
click to toggle source
# File lib/openapi3_parser/node_factory/object_factory/validator.rb, line 154 def run_validations(validator) validator.factory.validations.each do |validation| if validation.respond_to?(:call) validation.call(validator.validatable) elsif validation.is_a?(Symbol) validator.factory.send(validation, validator.validatable) else raise Error::NotCallable, "expected a symbol or a callable" end end end