草庐IT

目录制

全部标签

ruby - 如何在 rspec 测试中包含 lib 目录

我在JRuby1.7.4上测试包含lib目录的gem时遇到问题。我想测试位于lib/vger/resources/account_manager.rb的文件我的规范文件在spec/vger/resources/account_manager_spec.rbrequire'spec_helper'describeVger::Resources::AccountManagerdo..endend我正在尝试将要测试的文件包含在spec_helper.rb中require'rubygems'require'bundler/setup'require'vger/resources/account

ruby - Rake 和当前目录

如何获取rakefile.rb所在的目录?我想用这个作为我的根目录来定位所有的东西。 最佳答案 使用__FILE__获取文件名然后你可以从那里获取目录:在test.rbputs__FILE__输出:/users/foo/test.rb__FILE__解析为它所在文件的完整路径。使用它来获取目录名称:File.dirname(__FILE__) 关于ruby-Rake和当前目录,我们在StackOverflow上找到一个类似的问题: https://stacko

ruby-on-rails -/usr/bin/env ruby​​ 没有这样的文件或目录 : Using capistrano 3, capistrano/rbenv、capistrano/bundler 和 capistrano/rails(使用 rails 4)

我正在使用capistrano、capistrano/rbenv、capistrano/bundler和capistrano/rails。我在capistrano编译Assets的步骤中得到这个错误:DEBUG[49a50df6]/usr/bin/env:DEBUG[49a50df6]rubyDEBUG[49a50df6]:NosuchfileordirectoryDEBUG[49a50df6]在生产服务器中/usr/bin/envruby​​-v是正确的。我知道这一点:why-does-something-work-in-my-ssh-session-but-not-in-capis

ruby-on-rails - 如何从另一个目录中获取 ruby​​ 文件

我正在尝试请求一个我在另一个文件中创建的rake文件。这两个文件位于两个不同的目录中。我在第一个文件的顶部有require,在require之后的引号内有第二个文件的名称。它告诉我它无法加载这样的文件。这是否意味着因为它在不同的目录中找不到它?我尝试坚持第二个文件的完整路径,但它仍然无法加载文件。有谁知道如何将第二个文件加载到第一个文件中?提前致谢 最佳答案 require将仅在一组称为“加载路径”的位置中搜索文件。您可以在脚本或irbsession中使用全局变量$LOAD_PATH查看加载路径。如果它不在加载路径中,则不会找到它。

ruby - 检查 Ruby 中的目录是否为空

在Ruby中如何检查目录是否为空?有没有类似的东西:Dir.exists?("directory")(我知道那个函数不存在。) 最佳答案 Ruby现在有Dir.empty?,使这变得非常简单:Dir.empty?('your_directory')#=>(true|false)在2.4.0之前的Rubies中,您可以只获取条目列表并自行查看它是否为空(考虑“.”和“..”)。参见thedocs.(Dir.entries('your_directory')-%w{...}).empty?#orusingglob,whichdoesn'

ruby-on-rails - 在 Ruby on Rails 中获取空临时目录的最佳方法是什么?

使用RubyonRails获取一个没有任何内容的临时目录的最佳方法是什么?我需要API跨平台兼容。标准库tmpdir行不通。 最佳答案 Dir对象有一个方法mktmpdir这会创建一个临时目录:require'tmpdir'#Notneededifyouareusingrails.Dir.mktmpdirdo|dir|puts"Mynewtempdir:#{dir}"end临时目录将在block执行后删除。 关于ruby-on-rails-在RubyonRails中获取空临时目录的最佳方

ruby-on-rails - Capistrano 3 在目录中执行

我正在尝试为Capistrano3编写一个任务,该任务涉及在当前版本的目录中执行“composerinstall”。它看起来像这样:namespace:composerdodesc'InstalldependencieswithComposer'task:installdoonroles(:web)dowithinrelease_pathdoexecute"#{fetch(:composer_command)}install"endendendendcomposer_command在暂存和生产文件中设置-在我的特定情况下为php/home/user/composer.phar由于某些原

ruby - ruby 和 irb 都不能加载当前目录中的 .rb 文件

我在用Ruby导入文件时遇到了一个非常菜鸟的问题。我正在WindowsXP中制作一个Ruby应用程序。该应用程序的所有类文件都在"C:/Documents/Prgm/Surveyor_Ruby/lib"中。但是当我在另一个文件中require一个文件时,ruby和irb都找不到所需的文件。当前目录的内容:C:\Documents\Prgm\Surveyor_Ruby\lib>dirVolumeindriveChasnolabel.VolumeSerialNumberisAAAA-BBBBDirectoryofC:\Documents\Prgm\Surveyor_Ruby\lib10/0

ruby - 恢复 Rails 3's Bundle Install Path... It' s 现在安装在我的根目录中

我在尝试安装vestal_versions插件时做了一些事情,最终在我的应用程序的根目录中创建了一个vestal_versions目录,内容如下:-Application-APP-DB-vestal_versions-ruby-1.8-bin-cache-doc-gems-specifications如果删除哪个会阻止应用程序运行...我如何更新bundle以将所有这些东西安装在正确的位置,我认为这是在应用程序之外? 最佳答案 bundleinstall使bundler将gem安装在相应的目录中。正在运行bundleinstall-

ruby - 如何使用ruby获取目录中的文件数

使用ruby​​如何获取给定目录中的文件数,文件数应包括递归目录数。例如:文件夹1(2个文件)----->文件夹2(4个文件)folder2在folder1里面。上述情况的总数应为6个文件。ruby中是否有任何函数可以获取此计数。 最佳答案 最快的方式应该是(不算目录数):Dir.glob(File.join(your_directory_as_variable_or_string,'**','*')).select{|file|File.file?(file)}.count更短:dir='~/Documents'Dir[File.