2

有时我想尝试将 IRB 与一些对象一起使用,但重现我需要的状态和上下文可能并不容易。考虑您想在 RSPec 中使用表达式的语法。所以我想实现这样的事情:

  1. 在我目前正在开发的 ruby​​ 应用程序的代码中调用函数eval_server
  2. 它创建服务器套接字并监听连接
  3. 我启动了一些类似于 IRB 的工具(我们称之为eval_client- 它应该被实现)
  4. 它创建客户端套接字并连接到eval_server
  5. 我输入一些红宝石表达式eval_client
  6. eval_client发送给eval_server
  7. eval_server在调用它的对象的上下文中评估表达式,序列化结果或异常(.inspect例如使用),并将其发送回eval_client
  8. eval_client显示结果

...

问题是:是否已经实施了类似的工具?如果没有,是否有一些宝石可以帮助我实现它?

我知道它可能看起来像调试器。但我不希望使用调试器启动 rails 服务器。我只想在代码中添加一个类似的内容,并在下一次请求时在该行的上下文中使用 IRB。

更新:

所以根据答案:

eval_client=pry-remote

eval_server=binding.remote_pry

https://github.com/mon-ouie/pry-remote

4

1 回答 1

1

一个名为 pry-remote 的Pry插件可以做到这一点:

见:https ://github.com/pry/pry/wiki/Remote-sessions

于 2012-01-08T10:05:40.793 回答