class MyMenu
Attributes
debug[W]
line[R]
prompt[W]
promptcolor[W]
Public Class Methods
new()
click to toggle source
# File lib/mymenu.rb, line 17 def initialize @mymenuname = "MyMenu" @prompt = "MyPrompt" @promptcolor = "\e[1;32m\ ".strip @menuitems = Array.new @menuitemnumbercolor = "\e[1;36m" @mymenugreeting = "Welcome to MyMenu" @mymenutoggle = true @debug = 0 @number = 1 end
Public Instance Methods
additemtolist(name, func)
click to toggle source
# File lib/mymenu.rb, line 31 def additemtolist(name, func) @menuitems << [@number, "#{name}", "#{func}"] @number += 1 end
settitle(title)
click to toggle source
# File lib/mymenu.rb, line 36 def settitle(title) @mymenugreeting = title @menutitlecolor = "\e[1;38m" @menutitle = %Q{\n /=========================\e[0m\ \e[1;38m| #{@mymenugreeting} |\e[0m\ \e[1;38m\=========================/\e[0m\ \n } end
Protected Instance Methods
evalreadline(&block)
click to toggle source
# File lib/mymenu.rb, line 84 def evalreadline(&block) while buf2 = Readline.readline("#{@promptcolor}#{@prompt}>\e[0m\ ", true) block.instance_eval do |t| instance_variable_set("@line", buf2) end puts "Eval Readline Pre execution" if @debug >= 2 block.call puts "Post execution of block in Readline prompt" if @debug >= 2 break end return block.instance_variable_get("@line") end
evalreadline?(readlineprompt, &codeeval)
click to toggle source
# File lib/mymenu.rb, line 97 def evalreadline?(readlineprompt, &codeeval) if readlineprompt == false puts "Without Readline" if @debug >= 2 codeeval.call else puts "Pre evalreadline with readlineprompt" if @debug >= 2 evalreadline do codeeval.call end end end