いろいろ良くわかっていないながら、選択肢としてそういう運用もあるかな、と。
koshigoe's jpmobile_with_crawler at master — GitHub
いくつかのプロジェクト(アプリ)で使いたいので、簡単に共有できるのがベストです。本当はforkしたjpmobileを丸ごとgemにしてしまうのが良い(簡単な)わけですが、本家の変更を追いかけて都度gemを作るというのも無駄すぎる気がします。さほど手間がかかるわけでもない気がしますが。
で、思いついたままプラグイン化してみたわけです。が、激しく無駄な事をした気がしています。何が無駄って、テスト用にjpmobileに習って用意したRSpec関連の仕掛けが、です。
クローラのUA判別とIP判定についてテストをしたいので、RSpecのあれこれも同梱してみたわけですが、本当に必要だったのかよくわかっていません。jpmobileのを丸パクリなので、あまり深く考えていなかったりします。
まだ、プラグインへの切り出しと用意したテストでのチェックしかしてません。Railsアプリとの連携については未確認なので、いろいろ問題が残っている様な気がしています。
1つの解決策としてどうなのかを探るためにプラグインにしてみましたが、もうちょっとうまくやれる気がしてしょうがありません。本家とクローラ対応版の差分からパッチを作って、それをプラグインのディレクトリに放り込んだ方がよいのでしょうか。プラグイン側でのテストは考えなくても良い気がしてきました。そもそも、一般に配布する事が目的ではないので。
んー、GitHubを使ってちょっとした変更をできるのは便利ですが、その変更を本家を活かしつつ反映させたい場合、どうするのが一般的なんでしょうか。mergeで追随して自分のリポジトリを使うべきなんでしょうか。
もうちょっと悩んでみます。

