Module: OpenapiFirst
- Extended by:
- Plugins
- Defined in:
- lib/openapi_first.rb,
lib/openapi_first/errors.rb,
lib/openapi_first/schema.rb,
lib/openapi_first/failure.rb,
lib/openapi_first/plugins.rb,
lib/openapi_first/version.rb,
lib/openapi_first/definition.rb,
lib/openapi_first/body_parser.rb,
lib/openapi_first/configuration.rb,
lib/openapi_first/error_response.rb,
lib/openapi_first/plugins/default.rb,
lib/openapi_first/plugins/jsonapi.rb,
lib/openapi_first/runtime_request.rb,
lib/openapi_first/runtime_response.rb,
lib/openapi_first/definition/response.rb,
lib/openapi_first/definition/operation.rb,
lib/openapi_first/definition/path_item.rb,
lib/openapi_first/definition/responses.rb,
lib/openapi_first/definition/request_body.rb,
lib/openapi_first/schema/validation_error.rb,
lib/openapi_first/schema/validation_result.rb,
lib/openapi_first/request_validation/validator.rb,
lib/openapi_first/response_validation/validator.rb,
lib/openapi_first/middlewares/request_validation.rb,
lib/openapi_first/plugins/default/error_response.rb,
lib/openapi_first/plugins/jsonapi/error_response.rb,
lib/openapi_first/middlewares/response_validation.rb,
lib/openapi_first/request_validation/request_body_validator.rb
Defined Under Namespace
Modules: Bundle, ErrorResponse, Middlewares, Plugins, RequestValidation, ResponseValidation Classes: BodyParser, Configuration, Definition, Error, Failure, NotFoundError, ParseError, RequestInvalidError, ResponseInvalidError, ResponseNotFoundError, RuntimeRequest, RuntimeResponse, Schema
Constant Summary collapse
- REQUEST =
Key in rack to find instance of RuntimeRequest
'openapi.request'- VERSION =
'1.2.1'
Constants included from Plugins
Class Method Summary collapse
- .bundle(filepath) ⇒ Object
- .configuration ⇒ Object
- .configure {|configuration| ... } ⇒ Object
-
.load(filepath, only: nil) ⇒ Object
Load and dereference an OpenAPI spec file.
-
.parse(resolved, only: nil, filepath: nil) ⇒ Object
Parse a dereferenced Hash.
Methods included from Plugins
Class Method Details
.bundle(filepath) ⇒ Object
43 44 45 |
# File 'lib/openapi_first.rb', line 43 def self.bundle(filepath) Bundle.resolve(filepath) end |
.configuration ⇒ Object
19 20 21 |
# File 'lib/openapi_first.rb', line 19 def configuration @configuration ||= Configuration.new end |
.configure {|configuration| ... } ⇒ Object
23 24 25 |
# File 'lib/openapi_first.rb', line 23 def configure yield configuration end |
.load(filepath, only: nil) ⇒ Object
Load and dereference an OpenAPI spec file
32 33 34 35 |
# File 'lib/openapi_first.rb', line 32 def self.load(filepath, only: nil) resolved = bundle(filepath) parse(resolved, only:, filepath:) end |
.parse(resolved, only: nil, filepath: nil) ⇒ Object
Parse a dereferenced Hash
38 39 40 41 |
# File 'lib/openapi_first.rb', line 38 def self.parse(resolved, only: nil, filepath: nil) resolved['paths'].filter!(&->(key, _) { only.call(key) }) if only Definition.new(resolved, filepath) end |