Method: CommandTree::TextMenu#render

Defined in:
lib/command_tree/text_menu.rb

#renderObject



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/command_tree/text_menu.rb', line 12

def render
  _, screen_width = IO.console.winsize
  items_per_row = screen_width / item_width

  names = items.dup.map! { |item| item_name(item) }
  descs = items.dup.map! { |item| item_desc(item) }

  until names.empty?
    puts names.shift(items_per_row).join
    row_descs = descs.shift(items_per_row).join
    puts row_descs unless row_descs.strip.empty?
  end
end