如何将Pry输出转储到文件或Vim?

时间:2014-01-07 18:45:33

标签: ruby-on-rails ruby terminal pry

我有一个Rails应用程序,我正在尝试导出数据,但是直接通过Pry,因为我只需要执行一次。

Pry有可能吗?我查看了文档,但似乎没有一种简单的方法可以在任何地方转储控制台数据。

2 个答案:

答案 0 :(得分:16)

  

我有一个带有嵌套哈希/对象的哈希,我需要将其发送给第三方以便使用API​​。他们需要转储数据,以便他们可以设置我的通话接收端。我现在只想在Ruby中执行此操作,但通过PRY转储数据更有意义,而不是编辑我的ruby对象来转储数据,我只需要一次。

如果您可以从本地命令行启动服务器,或者通过SSH连接到主机并在那里运行实例,则可以使用Pry进行此操作。基本上,您需要在适当的位置将这些行添加到代码中:

require 'pry-debugger'; binding.pry

将停止您的代码并将您置于Pry提示符下。此时您可以输入以下内容:

require 'json'
File.write('test.data', hash.to_json)

阅读Pry.debugger文档,了解有关在远程Rails会话中使用Pry的信息,这可能会对您有所帮助。

答案 1 :(得分:2)

您还可以将任何字符串导出到文件中(此处为output.txt):

x = 'something funky'
.echo '#{x}' > output.txt

请小心字符串中的引号。这些可能会导致shell出现问题。