class Committee::SchemaValidator::OpenAPI3::Router
Public Class Methods
Source
# File lib/committee/schema_validator/open_api_3/router.rb, line 8 def initialize(schema, validator_option) @schema = schema @prefix_regexp = ::Committee::SchemaValidator.build_prefix_regexp(validator_option.prefix) @validator_option = validator_option end
@param [Committee::SchemaValidator::Option] validator_option
Public Instance Methods
Source
# File lib/committee/schema_validator/open_api_3/router.rb, line 20 def build_schema_validator(request) Committee::SchemaValidator::OpenAPI3.new(self, request, @validator_option) end
Source
# File lib/committee/schema_validator/open_api_3/router.rb, line 14 def includes_request?(request) return true unless @prefix_regexp prefix_request?(request) end
Source
# File lib/committee/schema_validator/open_api_3/router.rb, line 24 def operation_object(request) return nil unless includes_request?(request) path = request.path path = path.gsub(@prefix_regexp, '') if @prefix_regexp request_method = request.request_method.downcase @schema.operation_object(path, request_method) end
Private Instance Methods
Source
# File lib/committee/schema_validator/open_api_3/router.rb, line 37 def prefix_request?(request) return false unless @prefix_regexp request.path =~ @prefix_regexp end