Class: Elasticsearch::Model::Adapter::Adapter
- Inherits:
-
Object
- Object
- Elasticsearch::Model::Adapter::Adapter
- Defined in:
- lib/elasticsearch/model/adapter.rb
Overview
Contains an adapter for specific OxM or architecture.
Instance Attribute Summary collapse
-
#klass ⇒ Object
readonly
Returns the value of attribute klass.
Class Method Summary collapse
-
.adapters ⇒ Hash
Return the collection of registered adapters.
-
.register(name, condition) ⇒ Object
Registers an adapter for specific condition.
Instance Method Summary collapse
-
#adapter ⇒ Object
private
Returns the adapter module.
-
#callbacks_mixin ⇒ Object
private
Return the module with Default::Callbacks interface implementation.
-
#importing_mixin ⇒ Object
private
Return the module with Default::Importing interface implementation.
-
#initialize(klass) ⇒ Adapter
constructor
A new instance of Adapter.
-
#records_mixin ⇒ Object
private
Return the module with Default::Records interface implementation.
Constructor Details
#initialize(klass) ⇒ Adapter
Returns a new instance of Adapter.
54 55 56 |
# File 'lib/elasticsearch/model/adapter.rb', line 54 def initialize(klass) @klass = klass end |
Instance Attribute Details
#klass ⇒ Object (readonly)
Returns the value of attribute klass.
52 53 54 |
# File 'lib/elasticsearch/model/adapter.rb', line 52 def klass @klass end |
Class Method Details
.adapters ⇒ Hash
Return the collection of registered adapters
103 104 105 |
# File 'lib/elasticsearch/model/adapter.rb', line 103 def self.adapters @adapters ||= {} end |
.register(name, condition) ⇒ Object
Registers an adapter for specific condition
87 88 89 |
# File 'lib/elasticsearch/model/adapter.rb', line 87 def self.register(name, condition) self.adapters[name] = condition end |
Instance Method Details
#adapter ⇒ Object
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 adapter module
135 136 137 138 139 140 |
# File 'lib/elasticsearch/model/adapter.rb', line 135 def adapter @adapter ||= begin self.class.adapters.find( lambda {[]} ) { |name, condition| condition.call(klass) }.first \ || Elasticsearch::Model::Adapter::Default end end |
#callbacks_mixin ⇒ Object
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.
Return the module with Default::Callbacks interface implementation
119 120 121 |
# File 'lib/elasticsearch/model/adapter.rb', line 119 def callbacks_mixin adapter.const_get(:Callbacks) end |
#importing_mixin ⇒ Object
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.
Return the module with Default::Importing interface implementation
127 128 129 |
# File 'lib/elasticsearch/model/adapter.rb', line 127 def importing_mixin adapter.const_get(:Importing) end |
#records_mixin ⇒ Object
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.
Return the module with Default::Records interface implementation
111 112 113 |
# File 'lib/elasticsearch/model/adapter.rb', line 111 def records_mixin adapter.const_get(:Records) end |