有时我想尝试将 IRB 与一些对象一起使用,但重现我需要的状态和上下文可能并不容易。考虑您想在 RSPec 中使用表达式的语法。所以我想实现这样的事情:
- 在我目前正在开发的 ruby 应用程序的代码中调用函数
eval_server
- 它创建服务器套接字并监听连接
- 我启动了一些类似于 IRB 的工具(我们称之为
eval_client
- 它应该被实现) - 它创建客户端套接字并连接到
eval_server
- 我输入一些红宝石表达式
eval_client
eval_client
发送给eval_server
eval_server
在调用它的对象的上下文中评估表达式,序列化结果或异常(.inspect
例如使用),并将其发送回eval_client
eval_client
显示结果
...
问题是:是否已经实施了类似的工具?如果没有,是否有一些宝石可以帮助我实现它?
我知道它可能看起来像调试器。但我不希望使用调试器启动 rails 服务器。我只想在代码中添加一个类似的内容,并在下一次请求时在该行的上下文中使用 IRB。
更新:
所以根据答案:
eval_client
=pry-remote
eval_server
=binding.remote_pry