相关疑难解决方法(0)

41
推荐指数
4
解决办法
3万
查看次数

如何将STDOUT捕获到字符串?

puts "hi"
puts "bye"
Run Code Online (Sandbox Code Playgroud)

我想存储到目前为止的代码的STDOUT(在这种情况下,hi \nbye变成一个变量说'结果'并打印出来)

puts result
Run Code Online (Sandbox Code Playgroud)

我这样做的原因是我已经将R代码集成到我的Ruby代码中,当R代码运行时,其输出被提供给STDOUT,但是在代码内部无法访问输出以进行一些评估.对不起,如果这令人困惑.因此,"放置结果"这一行应该让我高兴和再见.

ruby stdio

35
推荐指数
4
解决办法
2万
查看次数

rspec输出中的rails omniauth错误

我有一个使用devise/omniauth的rails 4应用程序允许通过facebook登录.该应用程序似乎工作,测试似乎也有效.但是,我有一个测试,用于检查用户通过Facebook登录的情况,但决定不授予权限.

此测试正常工作,但会向rspec输出发送错误消息

$ rspec -fd --tag inspect 
Sign in with facebook
  new user
E, [2013-10-20T21:25:24.232573 #17137] ERROR -- omniauth: (facebook) Authentication failure! invalid_credentials encountered
    does not grant permission

Finished in 0.21152 seconds
1 example, 0 failures

Randomised with seed 52495
Run Code Online (Sandbox Code Playgroud)

要么

$ rspec 
....E, [2013-10-20T21:25:24.232573 #17137] ERROR -- omniauth: (facebook) Authentication failure! invalid_credentials encountered.
............................................................

Finished in 0.95531 seconds
74 examples, 0 failures

Randomized with seed 2946
Run Code Online (Sandbox Code Playgroud)

相关测试

require 'spec_helper.rb'

feature "sign in with facebook" do
  context "new user" …
Run Code Online (Sandbox Code Playgroud)

facebook rspec ruby-on-rails omniauth

5
推荐指数
2
解决办法
1114
查看次数

在Rails中跟踪依赖项加载

我们的团队正在开发一个新的应用程序,我们从Rails 3.1和Ruby 1.9.2开始 - 昨晚我把它带到了Ruby 1.9.3.

我们在依赖链(css_parser)中使用的其中一个宝石最终在其中有一个require"iconv",触发1.9.3中的弃用警告,如下所示:

.../gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require': iconv will be deprecated in the future, use String#encode instead.
Run Code Online (Sandbox Code Playgroud)

起初我天真地把它归咎于没有更好的痕迹的轨道,直到我在任何地方都找不到要求'iconv'.

我追踪这个问题的唯一方法就是我开始在我的Gemfile中对事情进行评论,然后我终于明白了加载irb并开始依次要求每个库.我也可以在gems目录中完成一个文件系统grep,但我不确定"require'iconv'"是触发错误的原因.

什么是PITA.必须有一个更好的方法 - 只是在rake任务中执行--trace,加载rails没有削减它.是否有某种方式/任何方式触发此跟踪,这将显示相​​对较长的库依赖项列表中的哪一行触发了弃用?

ruby ruby-on-rails

3
推荐指数
1
解决办法
1926
查看次数

如何在Ruby中的进程调用中单独获取STDOUT和STDERR?

我想从我的Ruby脚本中运行一个程序,但我想分别捕获程序的STDOUT和STDERR,而不是混合它们,因此2>&1在命令shell上执行操作不会对我有用.

我真的不想将这些指向tempfile并将tempfile读回我的脚本.有没有办法可以直接在我的Ruby脚本中获取这两个?

ruby

2
推荐指数
1
解决办法
1567
查看次数

标签 统计

ruby ×4

ruby-on-rails ×2

facebook ×1

omniauth ×1

redirect ×1

rspec ×1

stderr ×1

stdio ×1

stdout ×1