Project

web-repl

0.01
No commit activity in last 3 years
No release in over 3 years
Javascript/Web REPL in Ruby
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 5.5.0, ~> 5.5
>= 1.1.0, ~> 1.1
>= 10.4.2, ~> 10.4
>= 1.2.1, ~> 1.2

Runtime

>= 0.7.7, ~> 0.7
>= 0.5.1, ~> 0.5
>= 0.5.2, ~> 0.5
 Project Readme

web-repl

A Javascript REPL that runs in Ruby. Evaluation is done by a web browser instance.

One use of this is to replace the Chrome Developer Console remotely as such:

image

Background

I've been working on a toy project recently that requires browser content to be in fullscreen. This makes live coding using the regular Chrome JS console more or less impossible. I came up with web-repl as an alternative.

There are similar tools that run in nodejs and other languages but this is convenient for me because my project uses a Ruby backend anyway.

Under the hood, communication is done with JSON over Websocket. Note that there's no extra attention to security here other than what is generally implicit with a Websocket, so please use at your own discretion.

Usage

Browser

To enable the browser side of this, include something like this in the head of your webpage:

<script src="js/replConnection.js"></script>
<script type="text/javascript">
  window.onload = function() {
    var repl = new ReplConnection("localhost", 9007, { debug: true, reconnect: true });
    repl.start();
  }
</script>

The javascript assets for this project are located in the /js directory.

There is also a full example of a webpage (with simple rack webserver configuration) in the /examples/page directory

REPL

The REPL can be used either in a Ruby program/console or there is a "binary" Ruby script.

In Ruby the usage looks like this:

require "web-repl"

WebRepl.start(:host => "localhost", :port => 9007)

You can see an explanation of background usage here.

To use this as a script, run this from the command line. (The script should install with the gem)

web-repl localhost:9007

Installation

gem install web-repl

or with Bundler

gem "web-repl"

License

Licensed under Apache 2.0, See the file LICENSE

Copyright (c) 2014-2015 Ari Russo