class OpenapiValidator::DocumentationValidator
Attributes
api_doc[R]
errors[R]
schemas[R]
Public Class Methods
call(api_doc, additional_schemas: [])
click to toggle source
@param [Hash] api_doc
parsed openapi documentation @param [Array<String>] additional_schemas paths to custom schemas @return [DocumentationValidator] validation result
# File lib/openapi_validator/documentation_validator.rb, line 12 def self.call(api_doc, additional_schemas: []) new(api_doc, additional_schemas: additional_schemas).call end
new(api_doc, additional_schemas:)
click to toggle source
@param [Hash] api_doc
parsed openapi documentation @param [Array<String>] additional_schemas paths to custom schemas
# File lib/openapi_validator/documentation_validator.rb, line 46 def initialize(api_doc, additional_schemas:) @api_doc = api_doc @schemas = additional_schemas.unshift openapi_schema @errors = [] end
Public Instance Methods
call()
click to toggle source
@return [DocumentationValidator]
# File lib/openapi_validator/documentation_validator.rb, line 17 def call validate end
valid?()
click to toggle source
@return [true, false]
# File lib/openapi_validator/documentation_validator.rb, line 22 def valid? errors.empty? end
Private Instance Methods
openapi_schema()
click to toggle source
@return [String] path to openapi v3 schema
# File lib/openapi_validator/documentation_validator.rb, line 53 def openapi_schema File.expand_path("../../../data/openapi-3.0.json", __FILE__) end
parsed_schemas()
click to toggle source
@return [Array<Hash>] parsed custom schemas
# File lib/openapi_validator/documentation_validator.rb, line 40 def parsed_schemas schemas.map { |schema| FileLoader.call(schema) } end
validate()
click to toggle source
@return [DocumentationValidator]
# File lib/openapi_validator/documentation_validator.rb, line 31 def validate parsed_schemas.each do |schema| errors.concat JsonValidator.fully_validate(schema, api_doc) end self end