# File lib/sup/modes/console-mode.rb, line 71 def initialize super @console = Console.new self @binding = @console.instance_eval { binding } end
# File lib/sup/modes/console-mode.rb, line 77 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 =~ %rconsole-mode/; clean_backtrace << l } clean_backtrace.each { |l| self << "#{l}\n" } end end
# File lib/sup/modes/console-mode.rb, line 90 def prompt BufferManager.ask :console, ">> " end
# File lib/sup/modes/console-mode.rb, line 94 def run self << "Sup v#{VERSION} console session started. Available extra commands: #{(@console.special_methods) * ", "} Ctrl-G stops evaluation; 'e' restarts it. " while true if(cmd = prompt) execute cmd else self << "Console session ended." break end end end