IRBとRelineのバージョンを変更してIRBを起動するスクリプトを書いた

IRBのバージョンは簡単に変更できるけど、Relineのバージョン変えてIRB起動するのが面倒だったのでスクリプトを書いてみた。 手元でしか使わないのでARGVで文字列渡すだけの簡素な作り。

bundler/inline は便利だなぁ。

コードにもコメントしてあるけど、ARGV.clear しないとIRBの lib/irb/magic-file.rb で ARGV[0]File.open しようとして落ちるので ARGV.clear している。

使用例

ruby irb_reline_versions_changer.rb 1.4.1 0.3.0
#!/usr/bin/env ruby

require 'bundler/inline'

IRB_VERSION = ARGV[0]
RELINE_VERSION = ARGV[1]

# NOTE: IRBのMagicFileでARGVをファイルとしてOpenしようとして落ちるためARGVを削除する
ARGV.clear

gemfile do
  source 'https://rubygems.org'
  gem 'irb', IRB_VERSION
  gem 'reline', RELINE_VERSION
end

require 'irb'
require 'reline'

puts "irb: #{IRB::VERSION}"
puts "reline: #{Reline::VERSION}"

IRB.start(__FILE__)