Class: ElasticsearchQuery::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/elasticsearch_query/query.rb

Class Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Query

Returns a new instance of Query.



3
4
5
6
7
8
9
# File 'lib/elasticsearch_query/query.rb', line 3

def initialize( params )
  if params.respond_to? :with_indifferent_access
    @params = params.with_indifferent_access
  else
    @params = params
  end
end

Class Attribute Details

.paginator_classObject

Returns the value of attribute paginator_class.



42
43
44
# File 'lib/elasticsearch_query/query.rb', line 42

def paginator_class
  @paginator_class
end

Instance Method Details

#filtersObject



15
16
17
# File 'lib/elasticsearch_query/query.rb', line 15

def filters
  @_filters ||= Filters.new @params
end

#paginatorObject



19
20
21
# File 'lib/elasticsearch_query/query.rb', line 19

def paginator
  @_paginator ||= self.class.paginator_class.new @params
end

#sortObject



11
12
13
# File 'lib/elasticsearch_query/query.rb', line 11

def sort
  @_sort ||= Sort.new @params
end

#to_count_hashObject



31
32
33
# File 'lib/elasticsearch_query/query.rb', line 31

def to_count_hash
  base_query
end

#to_hashObject



23
24
25
26
27
28
29
# File 'lib/elasticsearch_query/query.rb', line 23

def to_hash
  @hash ||= begin
    base_query
      .merge sort.to_hash
      .merge paginator.to_hash
  end
end