Class: Couchbase::SearchQuery::NumericRangeQuery
- Inherits:
-
Couchbase::SearchQuery
- Object
- Couchbase::SearchQuery
- Couchbase::SearchQuery::NumericRangeQuery
- Defined in:
- lib/couchbase/search_options.rb
Overview
The numeric range query finds documents containing a numeric value in the specified field within the specified range.
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#initialize {|self| ... } ⇒ NumericRangeQuery
constructor
A new instance of NumericRangeQuery.
-
#max(upper_bound, inclusive = nil) ⇒ Object
Sets upper bound of the range.
-
#min(lower_bound, inclusive = nil) ⇒ Object
Sets lower bound of the range.
- #to_h ⇒ Hash<Symbol, #to_json>
Methods inherited from Couchbase::SearchQuery
boolean_field, booleans, conjuncts, date_range, disjuncts, doc_id, geo_bounding_box, geo_distance, geo_polygon, match, match_all, match_none, match_phrase, numeric_range, phrase, prefix, query_string, regexp, term, term_range, #to_json, wildcard
Constructor Details
#initialize {|self| ... } ⇒ NumericRangeQuery
Returns a new instance of NumericRangeQuery.
477 478 479 480 481 482 483 484 |
# File 'lib/couchbase/search_options.rb', line 477 def initialize super @min = nil @min_inclusive = nil @max = nil @max_inclusive = nil yield self if block_given? end |
Instance Attribute Details
#boost ⇒ Float
449 450 451 |
# File 'lib/couchbase/search_options.rb', line 449 def boost @boost end |
#field ⇒ String
452 453 454 |
# File 'lib/couchbase/search_options.rb', line 452 def field @field end |
Instance Method Details
#max(upper_bound, inclusive = nil) ⇒ Object
Sets upper bound of the range.
The upper boundary is considered exclusive by default on the server side.
471 472 473 474 |
# File 'lib/couchbase/search_options.rb', line 471 def max(upper_bound, inclusive = nil) @max = upper_bound @max_inclusive = inclusive end |
#min(lower_bound, inclusive = nil) ⇒ Object
Sets lower bound of the range.
The lower boundary is considered inclusive by default on the server side.
460 461 462 463 |
# File 'lib/couchbase/search_options.rb', line 460 def min(lower_bound, inclusive = nil) @min = lower_bound @min_inclusive = inclusive end |
#to_h ⇒ Hash<Symbol, #to_json>
487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 |
# File 'lib/couchbase/search_options.rb', line 487 def to_h raise Error::InvalidArgument, "either min or max must be set for NumericRangeQuery" if @min.nil? && @max.nil? data = {} data[:boost] = boost if boost data[:field] = field if field if @min data[:min] = @min data[:inclusive_min] = @min_inclusive unless @min_inclusive.nil? end if @max data[:max] = @max data[:inclusive_max] = @max_inclusive unless @max_inclusive.nil? end data end |