Module: OpenapiFirst
- Defined in:
- lib/openapi_first.rb,
lib/openapi_first/app.rb,
lib/openapi_first/inbox.rb,
lib/openapi_first/utils.rb,
lib/openapi_first/router.rb,
lib/openapi_first/version.rb,
lib/openapi_first/coverage.rb,
lib/openapi_first/operation.rb,
lib/openapi_first/responder.rb,
lib/openapi_first/definition.rb,
lib/openapi_first/validation.rb,
lib/openapi_first/find_handler.rb,
lib/openapi_first/response_object.rb,
lib/openapi_first/router_required.rb,
lib/openapi_first/validation_format.rb,
lib/openapi_first/request_validation.rb,
lib/openapi_first/response_validator.rb,
lib/openapi_first/response_validation.rb
Defined Under Namespace
Modules: RouterRequired, Utils, ValidationFormat
Classes: App, AppWithOptions, Coverage, Definition, Error, FindHandler, Inbox, NotFoundError, NotImplementedError, Operation, OperationResolver, RequestInvalidError, RequestValidation, Responder, ResponseBodyInvalidError, ResponseCodeNotFoundError, ResponseContentTypeNotFoundError, ResponseInvalid, ResponseObject, ResponseValidation, ResponseValidator, Router, Validation
Constant Summary
collapse
- OPERATION =
'openapi_first.operation'
- PARAMETERS =
'openapi_first.parameters'
- REQUEST_BODY =
'openapi_first.parsed_request_body'
- INBOX =
'openapi_first.inbox'
- HANDLER =
'openapi_first.handler'
- VERSION =
'0.12.3'
Class Method Summary
collapse
Class Method Details
.app(spec, namespace:, router_raise_error: false, request_validation_raise_error: false, response_validation: false) ⇒ Object
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# File 'lib/openapi_first.rb', line 34
def self.app(
spec,
namespace:,
router_raise_error: false,
request_validation_raise_error: false,
response_validation: false
)
spec = OpenapiFirst.load(spec) if spec.is_a?(String)
App.new(
nil,
spec,
namespace: namespace,
router_raise_error: router_raise_error,
request_validation_raise_error: request_validation_raise_error,
response_validation: response_validation
)
end
|
.env ⇒ Object
22
23
24
|
# File 'lib/openapi_first.rb', line 22
def self.env
ENV['RACK_ENV'] || ENV['HANAMI_ENV'] || ENV['RAILS_ENV']
end
|
.load(spec_path, only: nil) ⇒ Object
26
27
28
29
30
31
32
|
# File 'lib/openapi_first.rb', line 26
def self.load(spec_path, only: nil)
content = YAML.load_file(spec_path)
raw = OasParser::Parser.new(spec_path, content).resolve
raw['paths'].filter!(&->(key, _) { only.call(key) }) if only
parsed = OasParser::Definition.new(raw, spec_path)
Definition.new(parsed)
end
|
.middleware(spec, namespace:, router_raise_error: false, request_validation_raise_error: false, response_validation: false) ⇒ Object
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/openapi_first.rb', line 52
def self.middleware(
spec,
namespace:,
router_raise_error: false,
request_validation_raise_error: false,
response_validation: false
)
spec = OpenapiFirst.load(spec) if spec.is_a?(String)
AppWithOptions.new(
spec,
namespace: namespace,
router_raise_error: router_raise_error,
request_validation_raise_error: request_validation_raise_error,
response_validation: response_validation
)
end
|