如何将 Ruby shell(或撬)模拟器嵌入网站?

How can I embed Ruby shell (or pry) emulator into a website?

我想将 Ruby shell (irb) 或 pry 模拟器添加到像 Try Ruby 这样的网站中。我该怎么做?

编辑:TryRuby 是用 jquery-console 创建的,我从它的源代码中了解到,但我想知道另一种方式(特别是在 Ruby 中,否则 JavaScript ) 去做。

另一个编辑:我已投票结束我自己的问题;

Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.

我不会删除的,我会很自豪地永远提问!

绝非易事。


一种方法是让浏览器向服务器发送请求。缺点是——你需要管理服务器,你必须实现与服务器的前端通信,等等。普通的 webapp 东西。最大的问题 - 那里没有适用于 cRuby 的功能性沙箱。如果您需要任何程度的安全措施 - 您必须自己实施。

灵感之源 - rails 开发模式的浏览器控制台。


另一种方法是使用 Opal 并将所有内容保留在用户端。那里的大问题——虽然它试图这样做,但 Opal 并不是该语言的精确实现(它由 cRuby 实现定义)。因此,如果您需要完整的 "realism" - 此解决方案不适用。

灵感之地 - 蛋白石网站本身有一个部分,可让您在浏览器中试用 Ruby 代码。