Sha256: 69382eaf813a012902d125f8013884b73df125d5b1514ea9fc87202f5a67c073

Contents?: true

Size: 1 KB

Versions: 9

Compression:

Stored size: 1 KB

Contents

# frozen_string_literal: true

module SwaggerDocsGenerator
  # # Parse classes
  #
  # @abstract Classes for parsing Rails classes
  #
  # @!attribute [r] controller
  #   It's a name of controller parsed
  # @!attribute [r] tag_name
  #   It's a tag attaching to controller
  class Parser
    attr_reader :controller, :tag_name

    def initialize(klass)
      @controller = klass::CONTROLLER
      @tag_name = defined?(klass::TAG) ? klass::TAG : controller_name
    end

    def temporary_file
      File.join(SwaggerDocsGenerator.temporary_folder, tmp_json)
    end

    private

    def controller_name
      @controller.controller_name
    end

    def tmp_json
      "#{@tag_name}.json"
    end

    def create_file
      base_file = { paths: {}, tags: {}, definitions: {} }
      File.open(temporary_file, 'a+') { |file| file.puts(base_file.to_json) }
    end
  end
end

require 'swagger_docs_generator/parser/controller'
require 'swagger_docs_generator/parser/action'
require 'swagger_docs_generator/parser/definition'

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
swagger_docs_generator-0.4.0 lib/swagger_docs_generator/parser/parser.rb
swagger_docs_generator-0.3.6 lib/swagger_docs_generator/parser/parser.rb
swagger_docs_generator-0.3.6.pre.34 lib/swagger_docs_generator/parser/parser.rb
swagger_docs_generator-0.3.5 lib/swagger_docs_generator/parser/parser.rb
swagger_docs_generator-0.3.5.pre.31 lib/swagger_docs_generator/parser/parser.rb
swagger_docs_generator-0.3.4.pre.26 lib/swagger_docs_generator/parser/parser.rb
swagger_docs_generator-0.3.4 lib/swagger_docs_generator/parser/parser.rb
swagger_docs_generator-0.3.4.pre.23 lib/swagger_docs_generator/parser/parser.rb
swagger_docs_generator-0.3.3 lib/swagger_docs_generator/parser/parser.rb