Class: Elasticquery::Filters::Term

Inherits:
Base
  • Object
show all
Defined in:
lib/elasticquery/filters/term.rb

Instance Method Summary collapse

Methods inherited from Base

#dup_with, #invalid?

Constructor Details

#initialize(condition = {}) ⇒ Term

Create filtered -> filter filter for elasticsearch builder



13
14
15
# File 'lib/elasticquery/filters/term.rb', line 13

def initialize(condition={})
  @condition = condition
end

Instance Method Details

#to_hashHash

Hash presentation of query.

Examples:

r = Elasticquery::filters::Term.new { name: "John" }
r.to_hash #=> {query: {filtered: {filter: {and: {name: 'John'}}}}}

Returns:

  • (Hash)

    presentation of filter.



36
37
38
# File 'lib/elasticquery/filters/term.rb', line 36

def to_hash
  valid? ? {query: {filtered: {filter: {and: {term: @condition}}}}} : {}
end

#valid?Boolean

Is passed condition valid. Passed condition must have one key

Examples:

rule = Elasticquery::Rules::Term.new
rule.valid? #=> false

Returns:

  • (Boolean)

    is condition have at least one key



25
26
27
# File 'lib/elasticquery/filters/term.rb', line 25

def valid?
  @condition.keys.any?
end