草庐IT

当前目录

全部标签

ruby - 临时更改 Rake 中的当前目录

我想在另一个目录中运行多个命令(或更容易),然后在它们完成后返回到之前的工作目录。我设想类似于Fabric'swithcd(path):的东西,例如:cd('.git')doFile.unlink('config')end在Rake中是否有这样做的内置方法,或者我应该编写一个接受block的自定义方法等? 最佳答案 它只是内置的Dir#chdir调用:Dir.chdir('.git')doFile.unlink('config')end摘自docs:Ifablockisgiven,itispassedthenameofthenewc

ruby-on-rails - bash :/home/XXX/. rvm/scripts/rvm: 没有那个文件或目录

我只是演练了如何使用RVM在Ubuntu上安装RubyonRails。首先,我以root用户身份登录。然后我开始执行以下命令。\curl-sSLhttps://get.rvm.io|bash-sstable--rails已安装,没有任何错误。source~/.rvm/scripts/rvm当我运行这个命令时。它显示错误为bash:/home/XXX/.rvm/scripts/rvm:Nosuchfileordirectory我添加了[[-s"$HOME/.rvm/scripts/rvm"]]&&。我的.bashr文件中的“$HOME/.rvm/scripts/rvm”命令。

ruby-on-rails - Bundler 将我的 gem 放在我的项目目录中

我在Ruby1.9.2上有一个运行良好的Rails3rc应用程序,但Bundler一直在我的项目目录中创建一个名为“bandsintown”的文件夹(bandsintown是我使用的gem)。据我所知,这个文件夹里有我所有的珍宝。我很确定这以前从未发生过。这是正常行为吗?我认为这可能会干扰正在运行的测试。我收到“命令失败,状态为(1)”错误,然后它多次提到“bandsintown”文件夹。我发现Bundler将文件夹命名为“bandsintown”很奇怪,即使我在gemfile中注释掉那个gem。那个文件夹中有一个“ruby”文件夹,“ruby”文件夹中有一个“1.9.1”文件夹。我不

ruby - 获取中间人布局文件中页面的当前路径

是否可以在中间人文件中检索页面的当前路径?例如,如果我有一个布局文件layout.erb,其中包含如下内容:和一个测试文件index.html:Testing然后当Middleman呈现页面时,我会得到如下内容:/index.htmlTesting 最佳答案 中间人还提供了current_page变量。current_page.path是该资源的源路径(相对于源目录,没有模板扩展名),current_page.url是没有目录索引的路径(所以foo/index.html变成了foo)。#->index.html#->/来自Middl

ruby - Errno::ENOENT: 没有那个文件或目录

我收到以下错误:"Errno::ENOENT:Nosuchfileordirectory"当我尝试将文件下载到不存在的目录时。例如:ftp=Net::FTP.new('example.com')ftp.loginfiles=ftp.chdir('pub/lang/ruby/contrib')files=ftp.list('n*')ftp.getbinaryfile('nif.rb-0.91.gz','pub/lang/ruby/contrib/nif.gz',1024)ftp.close但是,对于我要下载的许多文件,完整的目录路径将不存在。例如,在第一个文件创建pub之前,它不会存在,

ruby - 在 Ruby 中获取当前代码行

今天疯狂的想法。有没有办法获取代码执行的行号?Logger.info"Iwasrunonline#{get_line_number}" 最佳答案 您可以使用__LINE__变量。看这个https://stackoverflow.com/a/2496240/100466也回答一下。 关于ruby-在Ruby中获取当前代码行,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/121757

ruby - 内置在 ruby​​ 目录中列出目录的方法

是否有更简洁的内置方法来执行此操作?ree>Pathname.new('/path/to').children.select{|e|e.directory?}.map{|d|d.basename.to_s}=>["test1","test2"]理想情况下,我想避免directory?调用 最佳答案 从Chandra的回答开始,看你是否需要完整路径,你可以使用Dir['app/*/']#=>["app/controllers/","app/helpers/","app/metal/","app/models/","app/sweepe

ruby-on-rails - 在日志消息之前添加当前时间

我为我的应用程序创建了一个自定义记录器,称为CRON_LOG,只需将这段代码添加到config/environment.rbCRON_LOG=Logger.new("#{Rails.root}/log/cron.log")CRON_LOG.level=Logger::INFO然后,当我想记录一些东西时,就这样做:CRON_LOG.info"something"它工作正常,但我想在每条日志消息之前添加当前时间戳。当然,我可以将Time.now添加到我的日志消息中,但我想知道是否有一种方法可以将它作为默认值添加到每条日志消息中。我该怎么做?谢谢。 最佳答案

Ruby:如何从当前工作目录中获取 "require"文件?

我如何从当前文件夹中获取文件?我有一个名为sql_parser.rb的文件,其中包含一个类。我想将它包含在同一文件夹中的另一个文件中,所以我使用了:require'sql_parser'当我从该文件夹运行时失败:LoadError:nosuchfiletoload--sql_parser我尝试在该文件所在的文件夹中使用IRB并从那里请求它,但遇到了同样的问题。 最佳答案 在ruby​​1.9.x中,您可以使用require_relative方法。参见http://www.ruby-doc.org/core-1.9.3/Kernel.

ruby - 是否可以递归地要求 Ruby 中目录中的所有文件?

我正在开发一个API,它需要加载当前目录和所有子目录中的所有.rb文件。目前,我正在为我添加的每个文件输入一个新的require语句,但我想把它放在我只需要将文件放在一个子目录中并自动添加它的地方。是否有执行此操作的标准命令? 最佳答案 在这种情况下,它会加载lib目录下的所有文件:Dir["#{File.dirname(__FILE__)}/lib/**/*.rb"].each{|f|load(f)} 关于ruby-是否可以递归地要求Ruby中目录中的所有文件?,我们在StackOve