Module: ElasticRecord::Searching
- Defined in:
- lib/elastic_record/searching.rb
Instance Method Summary collapse
-
#current_elastic_search ⇒ Object
:nodoc:.
-
#current_elastic_search=(relation) ⇒ Object
:nodoc:.
- #elastic_relation ⇒ Object
- #elastic_scope(name, body, &block) ⇒ Object
- #elastic_search ⇒ Object (also: #es)
Instance Method Details
#current_elastic_search ⇒ Object
:nodoc:
27 28 29 |
# File 'lib/elastic_record/searching.rb', line 27 def current_elastic_search #:nodoc: Thread.current["#{self}_current_elastic_search"] end |
#current_elastic_search=(relation) ⇒ Object
:nodoc:
31 32 33 |
# File 'lib/elastic_record/searching.rb', line 31 def current_elastic_search=(relation) #:nodoc: Thread.current["#{self}_current_elastic_search"] = relation end |
#elastic_relation ⇒ Object
3 4 5 |
# File 'lib/elastic_record/searching.rb', line 3 def elastic_relation ElasticRecord::Relation.new(self) end |
#elastic_scope(name, body, &block) ⇒ Object
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/elastic_record/searching.rb', line 16 def elastic_scope(name, body, &block) extension = Module.new(&block) if block singleton_class.send(:define_method, name) do |*args| relation = body.call(*args) relation = elastic_search.merge(relation) extension ? relation.extending(extension) : relation end end |
#elastic_search ⇒ Object Also known as: es
7 8 9 10 11 12 13 |
# File 'lib/elastic_record/searching.rb', line 7 def elastic_search if current_elastic_search current_elastic_search.clone else elastic_relation end end |