自动将项目环境加载到irb

时间:2011-03-24 20:08:09

标签: ruby-on-rails ruby irb

Rails有一个有用的命令rails console,可以下载所有必要的数据,然后我们可以与irb中的rails项目进行交互。 Ruby项目是否有相同的技术(基于Ruby语言)?通过这个技巧,我可以在irb中使用Ruby项目,而无需考虑加载库,模块,类,文件等。 感谢

3 个答案:

答案 0 :(得分:17)

您的项目应该有一个加载环境的文件。假设您的项目位于lib / project.rb中,那么只需:

$ irb -Ilib -rproject

答案 1 :(得分:1)

来自我的一个项目:

# Creates an IRB console useful for debugging experiments
# Loads up the environment for the condition passed
def console
  File.open("./tmp/irb-setup.rb", 'w') do |f|
    f.puts "# Initializes the environment for IRb."
    f.puts "Code to initialize your project here"
    f.puts "$: << '#{File.expand_path(".")}/'"  #handle load path       
  end
  irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
  # require your code
  libs =  " -r irb/completion"
  libs <<  " -r #{File.dirname(__FILE__) + "/base"}"
  libs << " -r ./tmp/irb-setup.rb" # require the config file you just wrote
  puts "Loading #{@options.env} environment..."
  exec "#{irb} #{libs} --simple-prompt"
end

技巧是你构造irb命令来自动获取你需要的所有代码。我还需要设置一些配置,所以我添加了编写一个我在IRb中需要的文件的魔力。

答案 2 :(得分:0)

在我的情况下,我的初始化脚本位于当前工作目录中。以下对我有用。

irb -r ./setup.rb