團隊在 rails console 用了 ap 來顯示每個指令的執行結果,有好有壞,缺點之一是遇上層層包疊的類別,又沒有特別處理 inspect
方法時,會直接輸出大段文字,格式難看,干擾開發。
其實 ap
會對特定類別調整顯示,例如 ActiveRecord::Base
物件會被顯示為 attributes 的 hash,但想自訂其他規則的話,目前還沒有簡單方法。
最後用了 monkey patch 達成,對想改的類別逐一動手,暫時夠用了。
我改的是 PG::Result
、Reform::Form
和 Trailblazer::Operation
三個類別,見 gist,放到 Rails 專案的 config/initializers/
下面。
例子,PG::Result
物件
調整前,顯示的是 inspect 結果,加上 raw
選項會漂亮一些,但資訊不算有用。
調整後,模仿 AR 顯示查詢出來的記錄。 另外如果有裝 table_print,可以選擇輸出 table 格式。