Module: Faraday::Openapi
- Defined in:
- lib/faraday/openapi.rb,
lib/faraday/openapi/errors.rb,
lib/faraday/openapi/request.rb,
lib/faraday/openapi/version.rb,
lib/faraday/openapi/response.rb,
lib/faraday/openapi/middleware.rb
Overview
This will be your middleware main module, though the actual middleware implementation will go into Faraday::Openapi::Middleware for the correct namespacing.
Defined Under Namespace
Modules: Base, RequestValidation, ResponseValidation Classes: AlreadyRegisteredError, Error, FileNotFoundError, Middleware, NotRegisteredError, RequestInvalidError, RequestMiddleware, ResponseInvalidError, ResponseMiddleware
Constant Summary collapse
- VERSION =
'0.8.2'
Class Attribute Summary collapse
-
.enabled ⇒ Object
Returns the value of attribute enabled.
-
.logger ⇒ Object
Returns the value of attribute logger.
-
.registry ⇒ Object
readonly
Returns the value of attribute registry.
Class Method Summary collapse
- .[](key) ⇒ Object
- .register(filepath, as: :default, allow_partial_responses: false, source: nil) ⇒ Object
- .update_registered ⇒ Object
Class Attribute Details
.enabled ⇒ Object
Returns the value of attribute enabled.
35 36 37 |
# File 'lib/faraday/openapi.rb', line 35 def enabled @enabled end |
.logger ⇒ Object
Returns the value of attribute logger.
35 36 37 |
# File 'lib/faraday/openapi.rb', line 35 def logger @logger end |
.registry ⇒ Object (readonly)
Returns the value of attribute registry.
34 35 36 |
# File 'lib/faraday/openapi.rb', line 34 def registry @registry end |
Class Method Details
.[](key) ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 96 |
# File 'lib/faraday/openapi.rb', line 85 def self.[](key) registry.fetch(key) do = if registry.empty? 'No API descriptions have been registered. Please register your API description via ' \ "Faraday::Openapi.register('myopenapi.yaml') before using the middleware" else "API description #{key.inspect} was not found. Please register your API description via " \ "Faraday::Openapi.register('myopenapi.yaml'#{key == :default ? '' : ", as: #{key.inspect}"})" end raise NotRegisteredError, end end |
.register(filepath, as: :default, allow_partial_responses: false, source: nil) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/faraday/openapi.rb', line 65 def self.register(filepath, as: :default, allow_partial_responses: false, source: nil) raise AlreadyRegisteredError, "API description #{as} is already registered" if registry.key?(as) download(as, from: source, to: filepath) if source && !File.exist?(filepath) oad = filepath.is_a?(Hash) ? OpenapiFirst.parse(filepath) : OpenapiFirst.load(filepath) registry[as] = Registered.new(oad:, allow_partial_responses:, source:, filepath:) self rescue OpenapiFirst::FileNotFoundError => e raise Faraday::Openapi::FileNotFoundError, e. end |
.update_registered ⇒ Object
77 78 79 80 81 82 83 |
# File 'lib/faraday/openapi.rb', line 77 def self.update_registered registry.each do |name, config| next unless config.source download(name, from: config.source, to: config.filepath) end end |