class Renogen::Formatters::MarkdownTable

For formatting a change into markdown format

Attributes

headings[R]

Public Instance Methods

header(changelog) click to toggle source

Generate header

@param changelog [Renogen::ChangeLog::Model]

return [String]

# File lib/renogen/formatters/markdown_table.rb, line 19
def header(changelog)
  @headings = changelog.groups.keys
  [
    "# #{changelog.version} (#{changelog.date})",
    "",
    "| #{headings.join(' | ')} |",
    "| #{headings.map{|_| '-' }.join(' | ')} |"
  ].join("\n")
end
table_formatter?() click to toggle source
# File lib/renogen/formatters/markdown_table.rb, line 10
def table_formatter?
  true
end
write_change(ticket) click to toggle source

Outputs a line or block as the body for a change in a group.

@param ticket [Hash<group: string>] @return [String]

# File lib/renogen/formatters/markdown_table.rb, line 49
def write_change(ticket)
  "| "+ @headings.map do |heading|
    value = ticket.fetch(heading, '-')
    value = value.join("\n") if value.is_a?(Array)
    value.gsub("\n", "<br>")
  end.join(' | ') + " |"
end
write_group(group) click to toggle source

Outputs a line or block as a header for a group.

@param group [String] @return [String]

# File lib/renogen/formatters/markdown_table.rb, line 41
def write_group(group)
  "## #{group}\n\n"
end
write_header(header) click to toggle source

Outputs a line or block of text appearing at the top of the change log.

@param header [String] @return [String]

# File lib/renogen/formatters/markdown_table.rb, line 33
def write_header(header)
  "#{header}\n"
end