Module: GemChangelogDiff::Formatters

Defined in:
lib/gem_changelog_diff/formatters/base.rb,
lib/gem_changelog_diff/formatters/json.rb,
lib/gem_changelog_diff/formatters/text.rb,
lib/gem_changelog_diff/formatters/markdown.rb

Overview

Output formatters for rendering gem reports.

Defined Under Namespace

Classes: Base, Json, Markdown, Text

Class Method Summary collapse

Class Method Details

.build(format:, color: false) ⇒ Text, ...

Builds a formatter instance for the given format name.

Parameters:

  • format (String)

    "text", "json", or "markdown"

  • color (Boolean) (defaults to: false)

    whether to enable ANSI colors

Returns:

Raises:

  • (ArgumentError)

    for unknown formats



11
12
13
14
15
16
17
18
# File 'lib/gem_changelog_diff/formatters/base.rb', line 11

def self.build(format:, color: false)
  case format
  when "text" then Text.new(color: color)
  when "json" then Json.new
  when "markdown" then Markdown.new
  else raise ArgumentError, "Unknown format: #{format}. Valid formats: text, json, markdown"
  end
end