Class: Stretchy::Queries::FilteredQuery

Inherits:
Base
  • Object
show all
Defined in:
lib/stretchy/queries/filtered_query.rb

Constant Summary

Constants included from Utils::Contract

Utils::Contract::ASSERTIONS, Utils::Contract::DECAY_FUNCTIONS, Utils::Contract::DISTANCE_FORMAT

Instance Method Summary collapse

Methods included from Utils::Contract

included, #require_one, #validate!

Constructor Details

#initialize(options = {}) ⇒ FilteredQuery

Returns a new instance of FilteredQuery.



11
12
13
14
15
16
# File 'lib/stretchy/queries/filtered_query.rb', line 11

def initialize(options = {})
  @query  = options[:query]
  @filter = options[:filter]
  validate!
  require_one(query: @query, filter: @filter)
end

Instance Method Details

#to_searchObject



18
19
20
21
22
23
# File 'lib/stretchy/queries/filtered_query.rb', line 18

def to_search
  json = {}
  json[:query]  = @query.to_search  if @query
  json[:filter] = @filter.to_search if @filter
  { filtered: json }
end