走り書き: すべてのメソッドを動的に extend すると
Rails で分業しようとするとコントローラとビューはなんとかならないことはない(ほげチームは hoge_controller と app/views/hoge 以下のみを自由にしていい、とか)けど、モデルはきついねぇ、なんてのを同僚と雑談。
で、ふと思ったのが、モデルもモデルにもりもりとメソッドを追加するんじゃなくて、普通にインスタンス化したあとでチームごとのモジュールを extend すれば他チームとのコンフリクトを防げませんかね、と。
Rails でよくみるような、factory っぽいのとかのクラスメソッドを追加しようとするとカオスになる気がしますが。
# hoge_controller def an_action @foo = Foo.find(params[:id]) # @foo.respond_to? :methods_for_hoge_action #=> false @foo.extend( FooMethodsForHogeTeam ) @foo.methods_for_hoge_action end