はじめに

railsでは標準のirbよりも高度なpryがコンソールツールとしてよく使われています。
そしてデバッグ時にpryまたはirbでモデル表示「[モデル名].allなど」をおこなうと表示があまり見やすくありません。
もう少し見やすくということでHirbでは表形式で表示してくれます。

pry + Hirb の導入

Gemfileの追記

プロジェクト直下にあるGemfileへpryとHirbのgemを記述します
pryはpry-railsのみで良いのですが、よく使われるその他pry関連gemも入れておきます。詳細はドキュメントを参照ください。

group :development, :test do
  gem 'hirb' # hirb
  gem 'hirb-unicode' # hirbの日本語対応用

  gem 'pry-rails'  # pryコンソール
  gem 'pry-doc'    # メソッドを表示
  gem 'pry-byebug' # デバッグを実施(Ruby 2.0以降で動作)
  gem 'pry-stack_explorer' # スタックをたどる
end

※どちらもデバッグツールのためdevelopment,testとしておきます

インストール実行

$ bundle install

.pryrcファイルの追加

.pryrcファイルをプロジェクト直下に以下の内容で作成してください。

begin
  require 'hirb'
rescue LoadError
  # Missing goodies, bummer
end

if defined? Hirb
  # Slightly dirty hack to fully support in-session Hirb.disable/enable toggling
  Hirb::View.instance_eval do
    def enable_output_method
      @output_method = true
      @old_print = Pry.config.print
      Pry.config.print = proc do |*args|
        Hirb::View.view_or_page_output(args[1]) || @old_print.call(*args)
      end
    end

    def disable_output_method
      Pry.config.print = @old_print
      @output_method = nil
    end
  end

  Hirb.enable
end

内容はバージョンにより更新される場合があるので最新版は以下のサイトより確認ください。
https://github.com/pry/pry/wiki/FAQ#hirb

動作チェック

pryコンソールモードに入ります

$ rails c

pryコンソールモードでモデルの情報を表示します

pry(main)> User.all

※Userモデルの値を表示

実行結果として表形式で表示されるようになっていればOKです。

その他おすすめの備忘録

Tagged with:
 

コメントを残す