如何创建自定义的IRB文件来加载Ruby项目的文件,Gem和依赖项?

rob*_*rob 1 ruby irb

有谁知道如何从终端运行需要N个文件/宝石的ruby文件,并以IRB会话结束这些文件已加载到内存的操作?

换句话说,我希望是这样的:

$ ruby project_console.rb

# project_console.rb
IRB.new do |config|
  require 'bundler/setup'
  require 'import_project_file'
  require_relative "spec/muffin_blog/app/models/random_file"
  Post.establish_connection({database: "spec/muffin_blog/db/development.sqlite3"})
end

# yay. I'm in my custom IRB session with all of the above already loaded
2.4.1 :001 >
Run Code Online (Sandbox Code Playgroud)

 $ irb
     2.4.1 :001 > require 'bundler/setup'
     => true
    2.4.1 :002 > require 'import_project_file'
     => true
    2.4.1 :003 > require_relative "spec/muffin_blog/app/models/random_file"
     => true
    2.4.1 :004 > Post.establish_connection({database: "spec/muffin_blog/db/development.sqlite3"})
        # this makes me sad because its manual every time I want to play around with my project.
Run Code Online (Sandbox Code Playgroud)

我正在开发一个ruby项目,在构建该项目的过程中,我发现需要诸如之类的东西rails console,它将整个项目及其捆绑程序依赖项加载到内存中,因此我不必手动进行操作。我认为,如果我构建自己的超级事物“ rails console”用于调试/构建红宝石,那将是很棒的。

我还在某个地方读到一个.irbc可以使用的IRB,但这听起来像是我将在我的计算机上全局更改IRB,但我不希望这样做。我想为每个ruby项目加载特定的文件,gem和配置。

对于它的价值,我已经阅读了以下SO帖子:

但是,它们似乎都没有提供以上我的问题的答案。

Ama*_*dan 5

很简单,实际上:

#!/usr/bin/env ruby
require "bundler/setup"
# ...
# everything else you need
# ...
require "irb"
IRB.start
Run Code Online (Sandbox Code Playgroud)

当您使用来启动IRB时IRB.start,您将获得之前已加载/初始化的所有内容。