Sha256: d48a3525ffc0ea56d9b710abf6a657b14f9cd3e1eb9c3e08d672a73342c26ff2

Contents?: true

Size: 552 Bytes

Versions: 4

Compression:

Stored size: 552 Bytes

Contents

module WebConsole
  # Simple REPL implementation.
  # It uses @binding.eval for code evaluation.
  # No styling or console configurations is supported.
  class REPL
    attr_accessor :binding

    def initialize(binding = TOPLEVEL_BINDING)
      @binding = binding
    end

    def prompt
      '>> '
    end

    def send_input(input)
      eval_result = nil
      eval_result = @binding.eval(input).inspect
      "=> #{eval_result}\n"
    rescue Exception => exc
      "!! #{exc.inspect rescue exc.class.to_s rescue "Exception"}\n"
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
web-console-2.0.0.beta4 lib/web_console/repl.rb
web-console-2.0.0.beta3 lib/web_console/repl.rb
web-console-2.0.0.beta2 lib/web_console/repl.rb
web-console-2.0.0.beta1 lib/web_console/repl.rb