如何在执行脚本文件的rails中创建lib文件?

时间:2011-06-16 14:08:47

标签: ruby-on-rails ruby

我想在#{Rails.root} /lib/my_file.rb中创建一个文件my_file.rb,它执行驻留在#{Rails.root} / script / my_script中的脚本my_script。我打算像这样使用它:

script/first_script # this first script will call a method in
# lib/my_file.rb that will run the script/my_script file.

如何创建可执行脚本的lib文件?什么是从lib文件执行脚本的命令?

2 个答案:

答案 0 :(得分:2)

如果通过“执行脚本”表示在单独的过程中运行它,那么您需要的是system调用。

<强>更新

如果您想独立捕获STDOUTSTDERR,也可以使用popen3方法。从示例:

Open3.popen3("#{Rails.root}/script/my_script") do |in, out, err|
  # ...
end

答案 1 :(得分:1)

这里是运行流程的各种选项的列表(回答你的问题,基本上你在lib / xxx.rb中定义方法,然后调用该方法,并在该方法中,你运行系统或不运行: http://en.wikibooks.org/wiki/Ruby_Programming/Running_Multiple_Processes