ruby / ruby/irb

Embeddable IRB, for use on websites

Open
#1,223 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Ruby
Stars
478
Forks
158
Avg merge
1d 12h
Merged PRs (30d)
12

Description

Hey there folks,

Many years ago, _why wrote a shell, I think, in ruby, that was sandboxed and could
be used on the www. Shortly after that, BasicObject was added (I think), based on an
old discussion.

Since then I have seen some embedded uses of ruby shells, but I tend to forget where.

Could IRB itself get the ability to be "embeddable", for use on the world wide web,
including local websites and simple .html pages too, perhaps via opal?

Let me explain the use case.

I'd love to be able to use IRB via the web as primary interface, but I don't know what
has to be done to do so. My hope is that this could happen via IRB itself, and then
also be documented, with some examples, e. g. showcasing how to do so via a
simple .html page, perhaps via opal, but also more advanced use cases, rack,
rails, sinatra, oldschool .cgi files, you name it. Enough information to be able to
cover these use cases. That way I can e. g. have irb as a small "widget" on a
webpage, loaded with my own custom code, or restricted, and then allow
things to be done there (possibly sandboxed, e. g. "rm" probably should be
controllable and probably eval() too).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by mapping IRB's current interfaces and how it could be used with Opal, Rack, Rails, Sinatra, CGI, and simple HTML pages. Define what embeddable means, including customization and control over operations such as rm and eval. Done should include a working integration path plus documentation and examples for the requested web use cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
rails, ruby
Domain
cli, documentation, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.