Viewのテンプレート内で下から上に挿入するgem書いた。

Viewのテンプレート内で下から上に挿入するgem書いた。

Kaizan

github.com

改ざんです。self.output_buffer.gsub!するとCould not concatenate to the buffer because it is not html safe.って怒られたりHTML素通しだったりするので、そこら辺の対処用。

こんなの何に使うんだっていうと、いま作ってるFormBuilderはHTMLに書き出し済みのerrors以外を抽出できるのがあるので、それをフォームのケツじゃなくて頭に出したかったので、遡って変更できるやつが欲しかった。

で、普通にself.output_buffer.gsub!したら怒られたのでgemになりました。なぜ怒られるのかはこっちに書きました。

qiita.com

小さなgemを作りまくっていて思ったこと

結構汎用性がありそうな機能でもlibとかに入れてそのまま放置して、次に使うときにコピペまんどくせとかコピペ失敗して時間を無駄にするとかやってた気がするので、こうやって簡単にgemにできることを早く知っていればなぁ、という感想。

あと、ちょっとした機能を完全に独立した物と考えて作るようになるので、テストとかしやすい。