class UsageFormatter
Formats and prints usage information to a terminal.
Uses the mapping
gem to handle different output object types with custom formatting rules.
Nested
Definitions
def self.print(rows, output)
Print usage information to the output.
Signature
-
parameter
rows
Rows
The rows to format and print.
-
parameter
output
IO
The output stream to print to.
-
yields
{|formatter| ...}
Optional block to customize the formatter.
Implementation
def self.print(rows, output)
formatter = self.new(output)
yield formatter if block_given?
formatter.print(rows)
end
def print(rows, first: @first)
Print the formatted usage output.
Implementation
def print(rows, first: @first)
@first = first
map(rows)
end
def initialize(output)
Initialize a new usage formatter.
Signature
-
parameter
rows
Rows
The rows to format.
-
parameter
output
IO
The output stream to print to.
Implementation
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