lib/belajar/views/menu.rb in belajar-0.1.1 vs lib/belajar/views/menu.rb in belajar-1.0.0

- old
+ new

@@ -1,21 +1,22 @@ require 'wisper' module Belajar module Views - class Menu include Views include Wisper::Publisher TOP_BAR_TEXT = [ - 'Use *UP KEY* and *DOWN KEY* for menu navigation', - 'Enter menu with *RETURN*', - 'Go back with *BACKSPACE*', - 'Exit with *ESC*' - ].join(' | ') + 'Use * ← * and * → * for menu navigation', + 'Enter menu with * ⏎ *', + 'Go back with * ⟵ *', + 'Exit with *Esc*' + ].join(' | ').freeze + attr_writer :items_info + def initialize @position = 0 end def enter(*args) @@ -44,46 +45,41 @@ end def draw(window, active_index = 0) window.attrset(A_NORMAL) window.setpos(0, 1) - window.print_markdown header_text + window.print_markdown(header_text) items.each_with_index do |item, index| window.setpos(index + 2, 1) window.print_indicator(models[index]) window.attrset(index == active_index ? A_STANDOUT : A_NORMAL) - window.write " #{item.to_s} " + window.write " #{item} " window.attrset(A_NORMAL) - window.write " #{items_info[index].try(:join, ' ')}" + window.write " #{items_info[index] && items_info[index].join(' ')}" end window.refresh end def interact_with(window) - raise "Please implement the method #interact_with!" + raise 'Please implement the method #interact_with!' end def models - raise "Please implement the method #models!" + raise 'Please implement the method #models!' end def items - raise "Please implement the method #items!" + raise 'Please implement the method #items!' end def header_text - raise "Please implement the method #header_text!" + raise 'Please implement the method #header_text!' end def items_info @items_info || [] end - - def items_info=(items_info) - @items_info = items_info - end end - end end