class Pepin::CursesView
Public Class Methods
new(query, prompt: '> ')
click to toggle source
# File lib/pepin/curses_view.rb, line 100 def initialize(query, prompt: '> ') @query = query @prompt_string = prompt launch end
Public Instance Methods
launch()
click to toggle source
# File lib/pepin/curses_view.rb, line 107 def launch @window = Curses.init_screen Curses.raw Curses.noecho @prompt_view = PromptView.new(1, Curses.cols, 0, 0, query: @query, prompt: @prompt_string) @list_view = ListView.new( Curses.lines - 1, Curses.cols, 0, 0, query: @query) render end
refresh_winsize()
click to toggle source
# File lib/pepin/curses_view.rb, line 124 def refresh_winsize Curses.clear lines = Curses.lines cols = Curses.cols Curses.resize lines, cols @window.resize lines, cols @prompt_view.resize 1, cols @list_view.resize lines - 1, cols render end
render()
click to toggle source
# File lib/pepin/curses_view.rb, line 119 def render @prompt_view.render @list_view.render end
shutdown()
click to toggle source
# File lib/pepin/curses_view.rb, line 138 def shutdown Curses.close_screen if @window end