module OpenapiFirst
Constants
- HANDLER
- INBOX
- OPERATION
- PARAMETERS
- REQUEST_BODY
- VERSION
Public Class Methods
app( spec, namespace:, router_raise_error: false, request_validation_raise_error: false, response_validation: false )
click to toggle source
# File lib/openapi_first.rb, line 33 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()
click to toggle source
# 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)
click to toggle source
# File lib/openapi_first.rb, line 26 def self.load(spec_path, only: nil) content = YAML.load_file(spec_path) resolved = OasParser::Parser.new(spec_path, content).resolve resolved['paths'].filter!(&->(key, _) { only.call(key) }) if only Definition.new(resolved, spec_path) end
middleware( spec, namespace:, router_raise_error: false, request_validation_raise_error: false, response_validation: false )
click to toggle source
# File lib/openapi_first.rb, line 51 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