Class: Elasticsearch::Model::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/elasticsearch/model/multimodel.rb

Overview

Keeps a global registry of classes that include ‘Elasticsearch::Model`

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRegistry

Returns a new instance of Registry.



24
25
26
# File 'lib/elasticsearch/model/multimodel.rb', line 24

def initialize
  @models = []
end

Class Method Details

.__instanceObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns the unique instance of the registry (Singleton)



32
33
34
# File 'lib/elasticsearch/model/multimodel.rb', line 32

def self.__instance
  @instance ||= new
end

.add(klass) ⇒ Object

Adds a model to the registry



38
39
40
# File 'lib/elasticsearch/model/multimodel.rb', line 38

def self.add(klass)
  __instance.add(klass)
end

.allObject

Returns an Array of registered models



44
45
46
# File 'lib/elasticsearch/model/multimodel.rb', line 44

def self.all
  __instance.models
end

Instance Method Details

#add(klass) ⇒ Object

Adds a model to the registry



50
51
52
# File 'lib/elasticsearch/model/multimodel.rb', line 50

def add(klass)
  @models << klass
end

#modelsObject

Returns a copy of the registered models



56
57
58
# File 'lib/elasticsearch/model/multimodel.rb', line 56

def models
  @models.dup
end