Sha256: f52f07514c459660bb3d2857ecbd56b3a14f7e52468819ebafa0a08548150034
Contents?: true
Size: 857 Bytes
Versions: 1
Compression:
Stored size: 857 Bytes
Contents
require 'more_core_extensions/core_ext/module/namespace' module MoreCoreExtensions module ObjectNamespace # # Returns whether or not the object is in the given namespace. # # Aaa::Bbb::Ccc::Ddd.in_namespace?(Aaa::Bbb) #=> true # Aaa::Bbb::Ccc::Ddd.new.in_namespace?(Aaa::Bbb) #=> true # Aaa::Bbb::Ccc::Eee.in_namespace?("Aaa::Bbb") #=> true # Aaa::Bbb::Ccc::Eee.in_namespace?(Aaa::Bbb::Ccc::Ddd) #=> false def in_namespace?(val) val_ns = val.to_s.split("::") val_ns == namespace[0, val_ns.length] end # # Returns an Array with the namespace to an Instance. # # Aaa::Bbb::Ccc::Ddd.new.namespace #=> ["Aaa", "Bbb", "Ccc", "Ddd"] def namespace self.class.namespace end end end Object.send(:include, MoreCoreExtensions::ObjectNamespace)
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
more_core_extensions-1.2.0 | lib/more_core_extensions/core_ext/object/namespace.rb |