Sha256: dbd28d7c0ef3fb23f39463916f518394b4c476ad8a806572d9e8b842d340418b
Contents?: true
Size: 923 Bytes
Versions: 3
Compression:
Stored size: 923 Bytes
Contents
require_relative 'extension_constants' require WEBCONSOLE_FILE module WebConsole::REPL require_relative "repl/lib/input_controller" require_relative "repl/lib/output_controller" require_relative "repl/lib/view" class Wrapper require 'pty' def initialize(command) PTY.spawn(command) do |output, input, pid| Thread.new do output.each { |line| output_controller.parse_output(line) } end @input = input end end def parse_input(input) input_controller.parse_input(input) write_input(input) end def write_input(input) @input.write(input) end private def input_controller @input_controller ||= InputController.new(view) end def output_controller @output_controller ||= OutputController.new(view) end def view @view ||= View.new end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
webconsole-0.2.1 | lib/webconsole/repl.rb |
webconsole-0.2.0 | lib/webconsole/repl.rb |
webconsole-0.1.19 | lib/webconsole/repl.rb |