class Redwood::ConsoleMode
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/sup/modes/console_mode.rb, line 84 def initialize super "console" @console = Console.new self @binding = @console.instance_eval { binding } end
Public Instance Methods
execute(cmd)
click to toggle source
# File lib/sup/modes/console_mode.rb, line 90 def execute cmd begin self << ">> #{cmd}\n" ret = eval cmd, @binding self << "=> #{ret.pretty_inspect}\n" rescue Exception self << "#{$!.class}: #{$!.message}\n" clean_backtrace = [] $!.backtrace.each { |l| break if l =~ /console-mode/; clean_backtrace << l } clean_backtrace.each { |l| self << "#{l}\n" } end end
prompt()
click to toggle source
# File lib/sup/modes/console_mode.rb, line 103 def prompt BufferManager.ask :console, ">> " end
run()
click to toggle source
# File lib/sup/modes/console_mode.rb, line 107 def run self << <<EOS Sup v#{VERSION} console session started. Available extra commands: #{(@console.special_methods) * ", "} Ctrl-G stops evaluation; 'e' restarts it. EOS while true if(cmd = prompt) execute cmd else self << "Console session ended." break end end end