我正在使用Ruby on Rails 3.2.2,我想知道是否可以检查类或模块是否是命名空间。也就是说,我想运行类似下面的内容
ANamespaceName::AnotherNamespaceName::AClassName.is_namespaced?
#=> true
ANamespaceName::AClassName.is_namespaced?
#=> true
AClassName.is_namespaced?
#=> false
在上面的代码中,问题与声明/实现is_namespaced?
方法有关。
答案 0 :(得分:6)
在“How do you find the namespace/module name programatically in Ruby on Rails?”工作时,您可以使用类名中::
的存在来测试是否存在关联的模块。
def self.is_namespaced?
self.name.include? "::"
end