有谁知道如何从终端运行需要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帖子:
但是,它们似乎都没有提供以上我的问题的答案。
很简单,实际上:
#!/usr/bin/env ruby
require "bundler/setup"
# ...
# everything else you need
# ...
require "irb"
IRB.start
Run Code Online (Sandbox Code Playgroud)
当您使用来启动IRB时IRB.start,您将获得之前已加载/初始化的所有内容。
| 归档时间: |
|
| 查看次数: |
126 次 |
| 最近记录: |