hirb是可以改變irb資料輸出方式改變的gem,其最常應用的場合就是將rails中ActiveModel的資料轉為表格。但中文網站的開發者,應該常常會碰到表格排列歪掉的問題。
使用hirb前:
(真是幾乎無法閱讀)
使用hirb後:
好多了,但是表格歪掉看起來還是很討厭。
其實表格歪掉是由於hirb無法正確計算全型字元的寬度。於是我就包了hirb-unicode這個plugin,以解決這個問題。使用hirb-unicode後:
安裝hirb-unicode
在shell下執行:
$ gem i hirb-unicode
使用hirb-unicode
如果是在irb中使用
gem 'hirb-unicode'
require 'hirb-unicode'
即可自動載入hirb及hirb-unicode,並自動修正unicode排列的問題。
若在bundler的環境下使用(如Rails 3),請在Gemfile中加入
gem 'hirb-unicode'
以便載入gem。(或者用RichRC載入也可以喔)
然後在可以在.irbrc中或直接在irb進行require的動作:
require 'hirb-unicode'
Misc
其實hirb-unicode的源碼不到30行,利用unicode-display_width gem計算長度,再包裝一下切字串的method,其實一下就做完了。原本是想簡單的上個patch到hirb,但作者希望不要增加hirb的dependency,想要將這個功能包成另外的plugin,於是花了很多天往返討論。
Anyway,終於把這個功能包出去了。Happy coding!!