Module: TypedCache::Instrumenters::Mixins::NamespacedSingleton

Included in:
ActiveSupport, TypedCache::Instrumenters::Monitor, Null
Defined in:
lib/typed_cache/instrumenters/mixins/namespaced_singleton.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.allObject



9
# File 'lib/typed_cache/instrumenters/mixins/namespaced_singleton.rb', line 9

def all = @all ||= [] # rubocop:disable ThreadSafety

.included(base) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/typed_cache/instrumenters/mixins/namespaced_singleton.rb', line 12

def included(base)
  base.singleton_class.class_eval do
    alias private_new new
    private(:private_new)
  end

  base.extend(ClassMethods)

  all << base
end

Instance Method Details

#initialize(namespace) ⇒ Object



31
32
33
# File 'lib/typed_cache/instrumenters/mixins/namespaced_singleton.rb', line 31

def initialize(namespace)
  @namespace = namespace.to_s
end

#namespaceObject



26
27
28
# File 'lib/typed_cache/instrumenters/mixins/namespaced_singleton.rb', line 26

def namespace
  @namespace
end