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.
475 476 477 478 479 480 481 482 |
# File 'lib/couchbase/search_options.rb', line 475 def initialize super @min = nil @min_inclusive = nil @max = nil @max_inclusive = nil yield self if block_given? end |
Instance Attribute Details
#boost ⇒ Float
447 448 449 |
# File 'lib/couchbase/search_options.rb', line 447 def boost @boost end |
#field ⇒ String
450 451 452 |
# File 'lib/couchbase/search_options.rb', line 450 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.
469 470 471 472 |
# File 'lib/couchbase/search_options.rb', line 469 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.
458 459 460 461 |
# File 'lib/couchbase/search_options.rb', line 458 def min(lower_bound, inclusive = nil) @min = lower_bound @min_inclusive = inclusive end |
#to_h ⇒ Hash<Symbol, #to_json>
485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 |
# File 'lib/couchbase/search_options.rb', line 485 def to_h raise ArgumentError, "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 |