Class: Mortymer::OpenapiGenerator

Inherits:
Object
  • Object
show all
Includes:
Utils::StringTransformations
Defined in:
lib/mortymer/openapi_generator.rb

Overview

Generate an openapi doc based on the registered endpoints

Instance Method Summary collapse

Methods included from Utils::StringTransformations

demodulize, underscore

Constructor Details

#initialize(prefix: "", title: "Rick on Rails API", version: "v1", description: "", registry: [], security_schemes: {}, openapi_servers: []) ⇒ OpenapiGenerator

rubocop:disable Metrics/ParameterLists



12
13
14
15
16
17
18
19
20
21
# File 'lib/mortymer/openapi_generator.rb', line 12

def initialize(prefix: "", title: "Rick on Rails API", version: "v1", description: "", registry: [], # rubocop:disable Metrics/ParameterLists
               security_schemes: {}, openapi_servers: [])
  @prefix = prefix
  @title = title
  @version = version
  @description = description
  @endpoints_registry = registry
  @security_schemes = security_schemes
  @openapi_servers = openapi_servers
end

Instance Method Details

#generateObject



23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/mortymer/openapi_generator.rb', line 23

def generate
  {
    openapi: "3.0.1",
    servers: @openapi_servers,
    info: { title: @title, version: @version, description: @description },
    paths: generate_paths,
    components: {
      schemas: generate_schemas,
      securitySchemes: @security_schemes
    }
  }
end