Hirbとは
Rails consoleはデフォルトでモデルの内容を出力すると、ワンラインテキストとして出力されるので、データが多くなるにつれ、確認がしづらくなります。そこでHirbというgemを使うことで、出力結果を表形式に整形し、モデルの情報を確認しやすくしてくれます。
Github
https://github.com/cldwalker/hirb
Hirb導入前
コンソールからUser全件出力してみます。5件しかデータがないのに、非常に見づらいです。
1 2 3 4 5 |
$ rails c irb(main):001:0 > User.all User Load (1.5ms) SELECT "users".* FROM "users" LIMIT ? [["LIMIT", 11]] => #<ActiveRecord::Relation [#<User id: 1, name: "Zarbon", email: "toryhagenes@langrunolfsdottir.info", admin: true, created_at: "2018-09-29 01:14:38", updated_at: "2018-09-29 01:14:38">, #<User id: 2, name: "Cell", email: "clarisahermiston@barrows.biz", admin: true, created_at: "2018-09-29 01:14:38", updated_at: "2018-09-29 01:14:38">, #<User id: 3, name: "Future Trunks", email: "debroah@pagacmurphy.co", admin: false, created_at: "2018-09-29 01:14:38", updated_at: "2018-09-29 01:14:38">, #<User id: 4, name: "Gogeta", email: "xochitl@kuhiccrist.com", admin: true, created_at: "2018-09-29 01:14:38", updated_at: "2018-09-29 01:14:38">, #<User id: 5, name: "Supreme Kai", email: "lesiaokeefe@bogan.co", admin: true, created_at: "2018-09-29 01:14:38", updated_at: "2018-09-29 01:14:38">]> irb(main):002:0 > |
Gemのインストール
Hirbのみのだと、日本語などのマルチバイト文字が入っている場合に出力結果にずれが出てしまうので、
同時にhirb-unicodeをインストールすることで対応可能となります。
Gemfile
1 2 3 4 |
group :development, :test do gem 'hirb' gem 'hirb-unicode' end |
$ bundle installを実行します。
Hirb導入後
まずはHirb.enableコマンドで有効にします。そして、User.allしてみると、表形式で出力されるので、各データの確認が容易になりました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
irb(main):002:0 > Hirb.enable => true irb(main):003:0 > User.all User Load (2.6ms) SELECT "users".* FROM "users" +----+---------------+------------------------------------+-------+-------------------------+-------------------------+ | id | name | email | admin | created_at | updated_at | +----+---------------+------------------------------------+-------+-------------------------+-------------------------+ | 1 | Zarbon | toryhagenes@langrunolfsdottir.info | true | 2018-09-29 01:14:38 UTC | 2018-09-29 01:14:38 UTC | | 2 | Cell | clarisahermiston@barrows.biz | true | 2018-09-29 01:14:38 UTC | 2018-09-29 01:14:38 UTC | | 3 | Future Trunks | debroah@pagacmurphy.co | false | 2018-09-29 01:14:38 UTC | 2018-09-29 01:14:38 UTC | | 4 | Gogeta | xochitl@kuhiccrist.com | true | 2018-09-29 01:14:38 UTC | 2018-09-29 01:14:38 UTC | | 5 | Supreme Kai | lesiaokeefe@bogan.co | true | 2018-09-29 01:14:38 UTC | 2018-09-29 01:14:38 UTC | +----+---------------+------------------------------------+-------+-------------------------+-------------------------+ 5 rows in set irb(main):004:0 > |
無効にする場合はHirb disableです。
1 2 |
irb(main):004:0 > Hirb.disable => false |
.irbrcの設定
このままだと毎回 Hirb.enable と入力しなければ有効化されないので、 自動化したい場合は、ルートディレクトリに .irbrc を作成して、以下のように記述します。pryを使っている場合は.pryrcです。
.irbrc
1 2 3 4 5 6 7 |
if defined? Rails::Console if defined? Hirb Hirb.enable end end |
以上です!これで開発が効率化できるかと思います!
ちなみに今回、サンプルデータはfakerを使って投入いたしました。