class HammerCLI::AbstractCommand::SortedBuilder

Public Instance Methods

add_list(heading, items) click to toggle source
# File lib/hammer_cli/abstract.rb, line 69
def add_list(heading, items)
  items.sort! do |a, b|
    a.help[0] <=> b.help[0]
  end
  items.reject! {|item| item.respond_to?(:hidden?) && item.hidden?}

  puts "\n#{heading}:"

  label_width = default_label_indent
  items.each do |item|
    label, description = item.help
    label_width = label.size if label.size > label_width
  end

  items.each do |item|
    label, description = item.help
    description.each_line do |line|
      puts " %-#{label_width}s %s" % [label, line]
      label = ''
    end
  end
end
default_label_indent() click to toggle source
# File lib/hammer_cli/abstract.rb, line 65
def default_label_indent
  29
end