Class: ElasticsearchDslBuilder::DSL::Search::Queries::Terms
- Defined in:
- lib/elasticsearch_dsl_builder/dsl/search/queries/terms.rb
Instance Attribute Summary
Attributes inherited from Query
Instance Method Summary collapse
- #field(field) ⇒ Object
-
#initialize(field = nil, values = nil) ⇒ Terms
constructor
A new instance of Terms.
- #to_hash ⇒ Object
- #values(*values) ⇒ Object
Constructor Details
#initialize(field = nil, values = nil) ⇒ Terms
Returns a new instance of Terms.
6 7 8 9 10 11 |
# File 'lib/elasticsearch_dsl_builder/dsl/search/queries/terms.rb', line 6 def initialize(field = nil, values = nil) @type = :terms field(field) values(values) super() end |
Instance Method Details
#field(field) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/elasticsearch_dsl_builder/dsl/search/queries/terms.rb', line 20 def field(field) field_valid = field.instance_of?(String) || field.instance_of?(Symbol) raise ArgumentError, 'field must be a String or Symbol' unless field_valid @field = field.to_sym self end |
#to_hash ⇒ Object
27 28 29 30 |
# File 'lib/elasticsearch_dsl_builder/dsl/search/queries/terms.rb', line 27 def to_hash @query = { @field => @values } super end |
#values(*values) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/elasticsearch_dsl_builder/dsl/search/queries/terms.rb', line 13 def values(*values) values = values.flatten raise ArgumentError, 'values must be a non-empty Array' if values.empty? || values.any?(&:nil?) @values = values self end |