Class: GLI::Commands::HelpModules::ListFormatter
- Inherits:
-
Object
- Object
- GLI::Commands::HelpModules::ListFormatter
- Defined in:
- lib/gli/commands/help_modules/list_formatter.rb
Overview
Given a list of two-element lists, formats on the terminal
Instance Method Summary collapse
-
#initialize(list) ⇒ ListFormatter
constructor
A new instance of ListFormatter.
-
#output(output_device) ⇒ Object
Output the list to the output_device.
Constructor Details
#initialize(list) ⇒ ListFormatter
Returns a new instance of ListFormatter.
6 7 8 |
# File 'lib/gli/commands/help_modules/list_formatter.rb', line 6 def initialize(list) @list = list end |
Instance Method Details
#output(output_device) ⇒ Object
Output the list to the output_device
11 12 13 14 15 16 17 18 |
# File 'lib/gli/commands/help_modules/list_formatter.rb', line 11 def output(output_device) return if @list.empty? max_width = @list.map { |_| _[0].length }.max wrapper = TextWrapper.new(Terminal.instance.size[0],4 + max_width + 3) @list.each do |(name,description)| output_device.printf(" %-#{max_width}s - %s\n",name,wrapper.wrap(String(description).strip)) end end |