Class: SwaggerDocsGenerator::Parser Abstract

Inherits:
Object
  • Object
show all
Defined in:
lib/swagger_docs_generator/parser/parser.rb

Overview

This class is abstract.

Classes for parsing Rails classes

# Parse classes

Direct Known Subclasses

ParserAction, ParserController, ParserDefinition

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(klass) ⇒ Parser

Returns a new instance of Parser.



15
16
17
18
# File 'lib/swagger_docs_generator/parser/parser.rb', line 15

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

Instance Attribute Details

#controllerObject (readonly)

It’s a name of controller parsed



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/swagger_docs_generator/parser/parser.rb', line 12

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
end

#tag_nameObject (readonly)

It’s a tag attaching to controller



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/swagger_docs_generator/parser/parser.rb', line 12

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
end

Instance Method Details

#temporary_fileObject



20
21
22
# File 'lib/swagger_docs_generator/parser/parser.rb', line 20

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