Rails имеет полезную команду rails console
, которая загружает все необходимые данные, а затем мы можем взаимодействовать с проектом rails в irb
. Существует ли та же методика для проекта Ruby (построена на языке Ruby)? С помощью этого трюка я могу играть с проектом Ruby в irb
, не касаясь загрузки библиотек, модулей, классов, файлов и т.д.
Благодаря
Автоматически загружать среду проекта в irb
Ответ 1
В вашем проекте должен быть один файл, загружающий среду. Предполагая, что ваш проект находится в lib/project.rb, просто:
$ irb -Ilib -rproject
Ответ 2
Из одного из моих проектов:
# 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.
Ответ 3
В моем случае моя инициализация script находилась в текущем рабочем каталоге. Ниже я работал у меня.
irb -r ./setup.rb