Sha256: 22f0e9360bf468baa7b7bb1c3ef008a8d64fe27e0dda0ab19b8c7c0acb5b3178

Contents?: true

Size: 702 Bytes

Versions: 19

Compression:

Stored size: 702 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 == (kind_of?(Module) ? namespace : self.class.namespace)[0, val_ns.length]
    end
  end
end

Object.send(:include, MoreCoreExtensions::ObjectNamespace)

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
more_core_extensions-4.5.1 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-4.5.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-4.4.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-4.3.1 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-4.3.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-4.2.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-4.1.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-4.0.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-3.8.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-3.7.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-3.6.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-3.5.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-3.4.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-3.3.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-3.2.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-3.1.1 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-3.1.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-3.0.0 lib/more_core_extensions/core_ext/object/namespace.rb
more_core_extensions-2.0.0 lib/more_core_extensions/core_ext/object/namespace.rb