Ruby优化在CI服务器中不起作用

Ruby优化在CI服务器中不起作用,ruby,linux,ruby-2.0,Ruby,Linux,Ruby 2.0,我在Jenkins服务器中出错: $ ruby -v ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux] 运行rspec时,我出现以下错误: undefined method `using' for #<Class:0x000000026f9c88> (NoMethodError) 澄清:精化是在不同的文件中定义的。我正在搜索内部网站,看看在Ruby 2.0(2.0.0p0)的当前版本中,使用是顶级对象main的一个

我在Jenkins服务器中出错:

$ ruby -v
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]
运行rspec时,我出现以下错误:

 undefined method `using' for #<Class:0x000000026f9c88> (NoMethodError)


澄清:精化是在不同的文件中定义的。我正在搜索内部网站,看看在Ruby 2.0(2.0.0p0)的当前版本中,
使用
是顶级对象
main
的一个实例方法,修订版
r39474
r38126
,不是
模块的
。这是一种私有方法。如果在类/模块定义或方法定义中调用它,则会引发运行时错误

“由
main.using
激活的细化的范围从
main.using
之后的点开始。using
被调用到调用
main.using
的文件末尾。但是,当在作为
Kernel#eval
Kernel#instance(u eval
Module#Module(u eval
的第一个参数给定的字符串中调用
main.using
时,作用域的结尾就是字符串的结尾。”

您可以在中阅读更多关于此的信息

对于您的测试用例,您可以使用
eval
编写它们,并传入顶级绑定,如ruby源代码中的绑定


改进仍然是一个实验性的特性,将来可能会改变:-)

如果插入
放入RUBY_版本
,RSpec将打印什么?它显示了正确的版本:2.0.0FYI,这在RUBY 2.1中已经改变,
使用
甚至可以在
模块
中使用(因此也可以使用
)。
describe "blah" do
    include TestHelper
    using TestHelper::BrowserRefinement
    ...
end