Sha256: d0a270831d9af0ea1b8b4f31b310c694d634fc66de479fe1bbd473c29e66075e

Contents?: true

Size: 1.03 KB

Versions: 5

Compression:

Stored size: 1.03 KB

Contents

# frozen_string_literal: true

module SwaggerDocsGenerator
  # # Metadata generated
  #
  # Metadata generated in swagger json file
  class Metadata
    ACCEPT = %i[title version contact description host schemes base_path
                swagger].freeze

    def initialize
      @config = nil
    end

    def construct_swagger_file
      hash = {}
      self.class.protected_instance_methods.each do |method|
        if ACCEPT.include?(method) || method.is_a?(Hash)
          hash.merge!(send(method)) unless @config.send(method).blank?
        end
      end
      hash
    end

    private

    # :reek:UtilityFunction
    def base_class_documentation
      "#{SwaggerDocsGenerator.version_ruby}::BaseDoc".constantize
    end

    def all_class_documentation
      base_class_documentation.subclasses
    end

    attr_reader :config
  end
end

require 'swagger_docs_generator/metadata/configuration'
require 'swagger_docs_generator/metadata/info'
require 'swagger_docs_generator/metadata/jsons'
require 'swagger_docs_generator/metadata/definition'

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
swagger_docs_generator-0.5.1 lib/swagger_docs_generator/metadata/metadata.rb
swagger_docs_generator-0.5.0.pre.42 lib/swagger_docs_generator/metadata/metadata.rb
swagger_docs_generator-0.4.0 lib/swagger_docs_generator/metadata/metadata.rb
swagger_docs_generator-0.3.6 lib/swagger_docs_generator/metadata/metadata.rb
swagger_docs_generator-0.3.6.pre.34 lib/swagger_docs_generator/metadata/metadata.rb