.irbcrにもbegin-recue-endを書くと良いかも

などと今日ふと気付いた。というかハマった。
ということでこうした。.irbrcにbegin-rescue-endを書いているお手本を見かけ無いように思うので、一応ブログにしてみた。そんなのでハマるのが僕だけという可能性もあるが(・ε・)キニシナイ!!

begin
  require 'rubygems'
  require 'active_support'
  require 'pp'
  require 'irb/completion' # メソッド補完
  require 'what_methods' # what? でメソッドを調べる
  require 'wirble' # カラーリングの設定

  IRB.conf[:AUTO_INDENT]=true
  IRB.conf[:SAVE_HISTORY]=2000

  Wirble.init
  Wirble.colorize

  class Object
    def local_methods
      (methods - Object.instance_methods).sort
    end
  end

  alias q exit
  
rescue Exception => e
  p e.message
  p e.backtrace
end

複数台のMac/Windows/サーバーで.irbrcなどドットファイルを使いまわすと、特定のgemが入ってないということがわりと起きる。
ところがirbはgemがない等の理由でrequireを失敗しても標準出力に出してくれないので気付かない=>なんか期待した動作にならない…、となる。
Exceptionを拾ってやれば、エラーが明示されてくるのでcompletionが効かない…、などのトラブルの原因にすぐに気付ける。