在我目前正在开发的 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
同时?