Class: GrapeOAS::Exporter::OAS2Schema

Inherits:
Object
  • Object
show all
Includes:
Concerns::SchemaIndexer, Concerns::TagBuilder
Defined in:
lib/grape_oas/exporter/oas2_schema.rb

Instance Method Summary collapse

Methods included from Concerns::SchemaIndexer

#build_schema_index, #collect_refs, #collect_schemas_from_operation, #find_schema_by_canonical_name, #index_schema, #schema_index

Methods included from Concerns::TagBuilder

#build_tags, #collect_used_tag_names, #normalize_tag

Constructor Details

#initialize(api_model:) ⇒ OAS2Schema

Returns a new instance of OAS2Schema.



9
10
11
12
13
# File 'lib/grape_oas/exporter/oas2_schema.rb', line 9

def initialize(api_model:)
  @api = api_model
  @ref_tracker = Set.new
  @ref_schemas = {}
end

Instance Method Details

#generateObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/grape_oas/exporter/oas2_schema.rb', line 15

def generate
  {
    "swagger" => "2.0",
    "info" => build_info,
    "host" => build_host,
    "basePath" => build_base_path,
    "schemes" => build_schemes,
    "consumes" => build_consumes,
    "produces" => build_produces,
    "tags" => build_tags,
    "paths" => build_paths,
    "definitions" => build_definitions,
    "securityDefinitions" => build_security_definitions,
    "security" => build_security
  }.compact
end