Class: Chewy::Query::Nodes::Bool

Inherits:
Expr show all
Defined in:
lib/chewy/query/nodes/bool.rb

Constant Summary collapse

METHODS =
%w(must must_not should)

Instance Method Summary collapse

Methods inherited from Expr

#!, #&, #|, #~

Methods inherited from Base

#eql?, #render

Constructor Details

#initialize(options = {}) ⇒ Bool

Returns a new instance of Bool.



7
8
9
10
# File 'lib/chewy/query/nodes/bool.rb', line 7

def initialize options = {}
  @options = options
  @must, @must_not, @should = [], [], []
end

Instance Method Details

#__render__Object



19
20
21
22
23
24
25
26
27
28
# File 'lib/chewy/query/nodes/bool.rb', line 19

def __render__
  bool = {
    bool: Hash[METHODS.map do |method|
      value = instance_variable_get("@#{method}")
      [method.to_sym, value.map(&:__render__)] if value.present?
    end.compact]
  }
  bool[:bool][:_cache] = !!@options[:cache] if @options.key?(:cache)
  bool
end