Class: PostmanMarkdoc::MarkdownGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/postman_markdoc/markdown_generator.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ MarkdownGenerator

Returns a new instance of MarkdownGenerator.



11
12
13
14
# File 'lib/postman_markdoc/markdown_generator.rb', line 11

def initialize(options = {})
  @data = options[:data]
  @content = options[:content] || ""
end

Instance Attribute Details

#contentObject (readonly)

Returns the value of attribute content.



9
10
11
# File 'lib/postman_markdoc/markdown_generator.rb', line 9

def content
  @content
end

#dataObject (readonly)

Returns the value of attribute data.



9
10
11
# File 'lib/postman_markdoc/markdown_generator.rb', line 9

def data
  @data
end

Class Method Details

.generate(*args) ⇒ Object



3
4
5
6
7
# File 'lib/postman_markdoc/markdown_generator.rb', line 3

def self.generate(*args)
  generator = self.new(*args)
  generator.generate
  generator
end

Instance Method Details

#generateObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/postman_markdoc/markdown_generator.rb', line 16

def generate
  collection = PostmanMarkdoc::CollectionParser.new(data)
  @content << "## #{collection.name}\n\n"
  if collection.description != nil
    @content << "#{collection.description}\n\n"
  end
  collection.requests.each do |request|
    @content << "### #{request.method} #{request.name}\n\n"
    @content << "```\n#{request.url}\n```\n\n"
    if request.description. != nil
      @content << "#{request.description}\n\n"
    end
    if request.headers != []
      @content << "#### Headers\n\n```\n"
      request.headers.each do |header|
        @content << header['key']
        @content << "\t\t\t\t\t"
        @content << header['value']
        @content << "\n"
      end
      @content << "```\n\n"
    end
    @content << "#### Body\n\n```\n#{request.body}\n```\n\n"
  end
end