hirb-unicodeでrails consoleを見やすくする

janlelis/unicode-display_width - GitHub


cldwalker/hirbunicode対応版です。
janlelis/unicode-display_widthを使用しています。
一応ソース眺めてみましたがunpack辺りがいまいちよくわかりません。
この辺正しく学びたい。


これを使うと

>> Group.all
  Group Load (0.3ms)  SELECT "groups".* FROM "groups" 
+----+--------------+---------+-------------------------+-------------------------+
| id | name         | ordinal | created_at              | updated_at              |
+----+--------------+---------+-------------------------+-------------------------+
| 1  | カーソル移動 | 1       | 2012-01-03 10:24:58 UTC | 2012-01-03 10:24:58 UTC |
| 2  | 編集         | 1       | 2012-01-03 10:44:14 UTC | 2012-01-03 10:44:14 UTC |
+----+--------------+---------+-------------------------+-------------------------+
2 rows in set


ActiveRecordの結果が
console上で表形式に整形されて見れます。
等幅フォントじゃないから日記上は若干ずれてますが)

ちなみに

通常はこんな感じ。

>> Group.all
  Group Load (0.1ms)  SELECT "groups".* FROM "groups" 
=> [#<Group id: 1, name: "カーソル移動", ordinal: 1, created_at: "2012-01-03 10:24:58", updated_at: "2012-01-03 10:24:58">, #<Group id: 2, name: "編集", ordinal: 1, created_at: "2012-01-03 10:44:14", updated_at: "2012-01-03 10:44:14">]


hirbだと日本語が入るとずれます。

>> Group.all
  Group Load (0.1ms)  SELECT "groups".* FROM "groups" 
+----+--------+---------+-------------------------+-------------------------+
| id | name   | ordinal | created_at              | updated_at              |
+----+--------+---------+-------------------------+-------------------------+
| 1  | カーソル移動 | 1       | 2012-01-03 10:24:58 UTC | 2012-01-03 10:24:58 UTC |
| 2  | 編集     | 1       | 2012-01-03 10:44:14 UTC | 2012-01-03 10:44:14 UTC |
+----+--------+---------+-------------------------+-------------------------+
2 rows in set

how to install

・Gemfileに追加

group :development, :test do
  gem 'hirb-unicode'
end


・bundle

rails console

・Hirb.enable
これでok
(これを毎回打つの面倒だから、irbrc以外のどっかに書きたいが、どこが適切なんだろうか)

補足
If using Wirble and irb, you should call Hirb after it since they both override irb’s default output.

wirbleと併用する場合は、hirbを後でcallしてね。