class Samovar::Output::UsageFormatter
Uses the ‘mapping` gem to handle different output object types with custom formatting rules.
Formats and prints usage information to a terminal.
def self.print(rows, output)
@parameter output [IO] The output stream to print to.
@parameter rows [Rows] The rows to format and print.
Print usage information to the output.
def self.print(rows, output) formatter = self.new(output) yield formatter if block_given? formatter.print(rows) end
def initialize(output)
@parameter rows [Rows] The rows to format.
Initialize a new usage formatter.
def initialize(output) @output = output @width = 80 @first = true @terminal = Console::Terminal.for(@output) @terminal[:header] = @terminal.style(nil, nil, :bright) @terminal[:description] = @terminal.style(:blue) @terminal[:error] = @terminal.style(:red) end
def print(rows, first: @first)
def print(rows, first: @first) @first = first map(rows) end