class Lingo::Attendee::Debugger
Public Instance Methods
control(cmd, param = nil, *)
click to toggle source
# File lib/lingo/attendee/debugger.rb, line 106 def control(cmd, param = nil, *) if @cmd_eval debug(eval(@cmd_eval)) { "*#{cmd}('#{param}')" } elsif cmd == :EOL :skip_command end end
init(default_prompt = 'lex:) ')
click to toggle source
# File lib/lingo/attendee/debugger.rb, line 93 def init(default_prompt = 'lex:) ') @prompt = get_key('prompt', default_prompt) unless @filter ||= get_key('filter', false) @cmd_eval = get_key('ceval', 'true') else @cmd_eval = nil end @obj_eval = get_key('eval', 'true') @preamble = get_key('preamble', true) end
process(obj, *)
click to toggle source
# File lib/lingo/attendee/debugger.rb, line 114 def process(obj, *) debug(eval(@obj_eval)) { obj.inspect } forward(obj) unless @filter end
Private Instance Methods
debug(condition) { || ... }
click to toggle source
# File lib/lingo/attendee/debugger.rb, line 121 def debug(condition) send_msg((@preamble = nil; @lingo.config.to_h.to_yaml)) if @preamble send_msg(@prompt + yield) if condition end
send_msg(msg)
click to toggle source
# File lib/lingo/attendee/debugger.rb, line 126 def send_msg(msg) @filter ? forward(msg) : warn(msg) end