Class: OpenapiBlocks::Spec::Document
- Inherits:
-
Object
- Object
- OpenapiBlocks::Spec::Document
- Defined in:
- lib/openapi_blocks/spec/document.rb
Overview
rubocop:disable Style/Documentation
Instance Method Summary collapse
-
#build ⇒ Object
rubocop:disable Metrics/AbcSize,Metrics/MethodLength.
-
#initialize(openapi_classes) ⇒ Document
constructor
A new instance of Document.
Constructor Details
#initialize(openapi_classes) ⇒ Document
Returns a new instance of Document.
9 10 11 |
# File 'lib/openapi_blocks/spec/document.rb', line 9 def initialize(openapi_classes) @openapi_classes = openapi_classes end |
Instance Method Details
#build ⇒ Object
rubocop:disable Metrics/AbcSize,Metrics/MethodLength
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/openapi_blocks/spec/document.rb', line 13 def build # rubocop:disable Metrics/AbcSize,Metrics/MethodLength config = OpenapiBlocks.configuration components = Components.new(@openapi_classes).build security = config.security components[:securitySchemes] = security.to_h if security&.schemes&.any? paths = Paths.new.build doc = { openapi: config.openapi_version, info: config.info.to_h, servers: config.to_h[:servers], paths: paths, components: components, tags: (paths) } doc[:security] = security.schemes.keys.map { |s| { s => [] } } if security&.schemes&.any? doc end |