0

私が現在開発しているRailsアプリケーションには、多くの「リクエスト」モデルがあります。私たちは多くのWebサービスを使用しており、それらのサービスに対してさまざまなリクエストがあり、それぞれに独自のロジック(主に検証)があります。したがって、それらはすべて名前空間としてモジュールにグループ化されます。

module Request
end

したがって、すべてのリクエストは次のようになります。

class Request::SendSomeData
end

これまでのところ、とても良いです…重要なのは、いくつかの共通論理を共有するそのような要求がたくさんあるということです。モジュールを含めるのは簡単です

class Request::SendSomeData
  include Request
end

…(名前空間とミックスインの両方として機能します)が、インクルードなしで作成する方法があるかどうか疑問に思いました(ある種のコードの繰り返しになるため)。

モジュールを明示的に含めずに、Rubyがモジュールの名前空間内のすべてのクラスにいくつかのインスタンスメソッドを配置する方法はありますか?

言い換えれば、私は次のようなものを持つことができます:

module Request
  def someMethod
  end
end

class Request::SendSomeData
end

と使用できる

Request::SendSomeData.new.someMethod

同時に?

4

1 に答える 1

0

あなたが求めていることは、いくつかの邪悪なハッカーなしでは成し遂げられません。

クラスが多すぎるか、重要でない問題に焦点を当てています。クラスごとに1行のコードだけです。

別の方法は、別の質問で前に説明したように、基本モデルクラスを作成することですが、これには各呼び出しに派生クラスが必要であるset_table_nameため、入力を節約できません。

于 2012-04-06T09:36:09.517 に答える