Sha256: 6e10fee34f6030ddb56311799a13023da4524e66cd8d4a7699ce7b1f3eac4a1d

Contents?: true

Size: 1.05 KB

Versions: 12

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

require_relative 'base_generator'
require_relative 'components/object_generator'
require_relative 'components/request_body_generator'

module R2OAS
  module Schema
    module V3
      class ComponentsGenerator < BaseGenerator
        def initialize(schema_data = {}, options = {})
          super(options)
          @components = schema_data['components'] || scehma_data[:components]
          @options = options
        end

        def generate_docs
          support_components_objects.each do |object_name|
            generator_class(object_name).new(@components, @options.merge(
                                                            middle_category: object_name
                                                          )).generate_docs
          end
        end

        private

        def generator_class(object_name)
          case object_name
          when 'requestBodies'
            Components::RequestBodyGenerator
          else
            Components::ObjectGenerator
          end
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
r2-oas-0.5.0 lib/r2-oas/schema/v3/generator/components_generator.rb
r2-oas-0.4.1 lib/r2-oas/schema/v3/generator/components_generator.rb
r2-oas-0.4.0 lib/r2-oas/schema/v3/generator/components_generator.rb
r2-oas-0.3.4 lib/r2-oas/schema/v3/generator/components_generator.rb
r2-oas-0.3.3 lib/r2-oas/schema/v3/generator/components_generator.rb
r2-oas-0.3.2 lib/r2-oas/schema/v3/generator/components_generator.rb
r2-oas-0.3.1 lib/r2-oas/schema/v3/generator/components_generator.rb
r2-oas-0.3.0 lib/r2-oas/schema/v3/generator/components_generator.rb
r2-oas-0.2.0 lib/r2-oas/schema/v3/generator/components_generator.rb
r2-oas-0.1.3 lib/r2-oas/schema/v3/generator/components_generator.rb
r2-oas-0.1.2 lib/r2-oas/schema/v3/generator/components_generator.rb
r2-oas-0.1.0 lib/r2-oas/schema/v3/generator/components_generator.rb