Class: Arelastic::Queries::Percolate

Inherits:
Query show all
Defined in:
lib/arelastic/queries/percolate.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Query

#has_child, #has_parent, #negate, #nested

Methods inherited from Nodes::Node

#==, #convert_to_elastic, #read_option!

Methods included from Arities::Binary

#binary

Methods included from Arities::Polyadic

#polyadic

Methods included from Arities::Unary

#unary

Constructor Details

#initialize(field, document, options = {}) ⇒ Percolate

Returns a new instance of Percolate.



5
6
7
8
9
# File 'lib/arelastic/queries/percolate.rb', line 5

def initialize(field, document, options = {})
  @field    = field
  @document = document
  @options  = options
end

Instance Attribute Details

#documentObject

Returns the value of attribute document.



4
5
6
# File 'lib/arelastic/queries/percolate.rb', line 4

def document
  @document
end

#fieldObject

Returns the value of attribute field.



4
5
6
# File 'lib/arelastic/queries/percolate.rb', line 4

def field
  @field
end

#optionsObject

Returns the value of attribute options.



4
5
6
# File 'lib/arelastic/queries/percolate.rb', line 4

def options
  @options
end

Instance Method Details

#as_elasticObject



11
12
13
14
15
16
17
18
# File 'lib/arelastic/queries/percolate.rb', line 11

def as_elastic
  {
    "percolate" => {
      "field"                  => field,
      document_parameter_name  => document
    }.merge(options)
  }
end

#document_parameter_nameObject



20
21
22
# File 'lib/arelastic/queries/percolate.rb', line 20

def document_parameter_name
  document.is_a?(Array) ? "documents" : "document"
end