Class: OpenapiFirst::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/openapi_first/configuration.rb

Overview

Global configuration. Currently only used for the request validation middleware.

Constant Summary collapse

HOOKS =
%i[
  after_request_validation
  after_response_validation
  after_request_parameter_property_validation
  after_request_body_property_validation
].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



13
14
15
16
17
18
19
# File 'lib/openapi_first/configuration.rb', line 13

def initialize
  @request_validation_error_response = OpenapiFirst.find_error_response(:default)
  @request_validation_raise_error = false
  @response_validation_raise_error = true
  @hooks = HOOKS.to_h { [_1, Set.new] }
  @path = nil
end

Instance Attribute Details

#hooksObject (readonly)

Returns the value of attribute hooks.



21
22
23
# File 'lib/openapi_first/configuration.rb', line 21

def hooks
  @hooks
end

#pathObject

Returns the value of attribute path.



22
23
24
# File 'lib/openapi_first/configuration.rb', line 22

def path
  @path
end

#request_validation_error_responseObject

Returns the value of attribute request_validation_error_response.



21
22
23
# File 'lib/openapi_first/configuration.rb', line 21

def request_validation_error_response
  @request_validation_error_response
end

#request_validation_raise_errorObject

Returns the value of attribute request_validation_raise_error.



22
23
24
# File 'lib/openapi_first/configuration.rb', line 22

def request_validation_raise_error
  @request_validation_raise_error
end

#response_validation_raise_errorObject

Returns the value of attribute response_validation_raise_error.



22
23
24
# File 'lib/openapi_first/configuration.rb', line 22

def response_validation_raise_error
  @response_validation_raise_error
end

Instance Method Details

#cloneObject



24
25
26
27
28
# File 'lib/openapi_first/configuration.rb', line 24

def clone
  copy = super
  copy.instance_variable_set(:@hooks, @hooks&.transform_values(&:clone))
  copy
end