草庐IT

global-require

全部标签

ruby - Capistrano:require_relative 没有按预期工作

假设以下Rails设置:轨道3.2.9Capistrano2.13.5使用多级扩展(即capistrano/ext/multistage)定义的生产阶段,例如在Rails.root/config/deploy/production.rb中。在production.rb中,你不能使用require_relative,看起来——你最终会收到“无法推断基本路径”错误。但是,如果您只是普通的rubyproduction.rb,则require_relative可以正常工作。为什么会这样?似乎Capistrano加载/执行代码的方式使得require_relative无法按预期工作。我怀疑这类似

ruby - "-r profile"和 "require ' 配置文件'”有什么区别?

我的Ruby版本是1.9.3p448。我有一个简单的程序:count=0words=File.open('/usr/share/dict/words')whileword=words.getsword.chomp!count+=1ifword.length==12endputs"#{count}twelve-characterwords"当我用ruby-rprofiletest.rb评估它时,输出是:7226twelve-characterwords%cumulativeselfselftotaltimesecondssecondscallsms/callms/callname9.63

ruby-on-rails - Heroku|Ruby 参数错误 : Missing required arguments:

我在/config/initializers/carrier_wave.rb中添加了aws访问信息:ifRails.env.production?CarrierWave.configuredo|config|config.fog_credentials={#ConfigurationforAmazonS3:provider=>'AWS',:aws_access_key_id=>ENV['access_key'],:aws_secret_access_key=>ENV['secret_access_key'],}config.fog_directory=ENV['bucket']ende

ruby - "pollute the global namespace"是什么意思?

在ruby​​中,一些gems选择“污染全局命名空间”。这是什么意思?我如何才能看到它发生在哪里?为什么gem需要这样做?当面对污染全局命名空间和冲突的两个gem时,当我选择“隔离”一个时,我要做出哪些权衡?例如:我正在使用两个污染全局命名空间的gem:pry和gli所以我无法再将我的binding.pry放在我想要的地方。一个solution就是将整个cli包装在一个模块中:moduleWrapperincludeGLI::Appextendselfprogram_desc"..."...exitrunARGVend现在我可以在任何需要的地方使用我的binding.pry。为什么这样

ruby-on-rails - rails : How can I set the route for a method which doesn't require an :id parameter but instead requires 2 query parameters

我有一个列表表,其中包含一个列表模型和一个listings_controller类。我写了一个需要2个参数的方法:纬度和经度。然后,它会检索该坐标周围5公里左右的列表。在listings_controller中,这是我写的那个方法:defaroundlat=params[:latitude]long=params[:longitude]@surroundings=Listing.where("latitude=?andlongitude=?",lat,long)end我想做的是在我的routes.rb文件中设置一个url,当客户端浏览器调用该url时,它将提供纬度和经度作为2个参数。不

ruby - 如何在 ruby​​/rspec 中卸载 'require'?

我们目前正在运行rspec测试,以检查要加载的特定库/模型。具体来说,我们想要测试在创建对象时是否能返回正确的Watir对象:用于FF和Chrome的Watir::Browser,以及用于Safari的Watir::Safari。我们已经尝试这样做:Unloadarubyclass但它只是删除常量,这不是我们想要的。通常情况下,这不是问题,但由于与safariwatir和watir-webdriver的兼容性问题,情况并非如此。它出错了:superclassmismatchforclassUnknownObjectException为了“修复”这个问题,我们基本上必须选择要加载的网络驱

ruby - package.json (javascript npm) 或 requirements.txt (python pip) 等同于 ruby

Nodejs的npm有package.json用于存储依赖项(使用npminit创建,使用npminstallaPackageanotherPackage--save修改,使用一起安装>npm安装)。Python的pip有requirements.txt(用pipfreeze>requirements.txt创建,在用pipinstallapackageanotherpackage安装包后用`pip一起安装安装-rrequirements.txt)。Ruby使用什么文件来存储依赖项?如果我使用geminstallsassjekylletc...安装,我如何将这些dep包含在一个文件中并

ruby - ruby 有 global_variable_set 吗?

如果要用Ruby制作一个TkGUI并制作多个具有不同全局变量名称的复选框。最有效的方法是什么?我找到了instance_variable_set,但这不适合我的场景。我想知道是否有像global_variable_set这样的东西。例如。info=[orange,apple,banana,grape,watermelon]$var=TkVariable.Newinfo.each_with_index{|inf,index|TkCheckButton.new(frame1)dotext"#{inf}"onvalue"#{inf}"variableglobal_variable_set("

ruby - 如何临时更改 Ruby 中的 require 路径($ :)?

我正在为一个复杂的项目对一堆Rake任务进行一些欺骗,一次逐渐重构block中的一些复杂性。这暴露了前项目维护者留下的奇怪的依赖关系网。我想要做的是在项目中添加一个特定的路径到require的要搜索的路径列表,也就是$:.但是,我只希望在一个特定方法的上下文中搜索该路径。现在我正在做这样的事情:deffoo()#Lookupoldpaths,addnewspecialpath.paths=$:$:这显然是一个骇人听闻的黑客攻击。有没有更好的办法? 最佳答案 因为$:是一个数组,你必须小心你在做什么。您需要复制一份(通过dup)并稍后

ruby-on-rails - 帮助理解 'require' ,想从lib导入代码

我的/lib文件夹中有一些东西,例如:/lib/some_folder/some_file.rb/lib/some_folder2/some_file2.rb现在在我的Rails3应用程序中,我将引用some_file和some_file2中的方法我如何引用它们而不必根据它们的module::class_name.method完全限定它们? 最佳答案 我认为您可以使用Include语句,如下例所示:module_test.rb:moduleModuleTestclassClass1defdo_somethingputs"Class1