class ElasticsearchQuery::Query

Attributes

paginator_class[RW]

Public Class Methods

new( params ) click to toggle source
# 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

Public Instance Methods

filters() click to toggle source
# File lib/elasticsearch_query/query.rb, line 15
def filters
  @_filters ||= Filters.new @params
end
paginator() click to toggle source
# File lib/elasticsearch_query/query.rb, line 19
def paginator
  @_paginator ||= self.class.paginator_class.new @params
end
sort() click to toggle source
# File lib/elasticsearch_query/query.rb, line 11
def sort
  @_sort ||= Sort.new @params
end
to_count_hash() click to toggle source
# File lib/elasticsearch_query/query.rb, line 31
def to_count_hash
  base_query
end
to_hash() click to toggle source
# 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

Private Instance Methods

base_query() click to toggle source
# File lib/elasticsearch_query/query.rb, line 37
def base_query
  @base_query ||= { query: filters.to_hash }
end