class ChefZero::Solr::Query::RangeQuery

Constants

DEFAULT_FIELD

Public Class Methods

new(from, to, from_inclusive, to_inclusive) click to toggle source
# File lib/chef_zero/solr/query/range_query.rb, line 5
def initialize(from, to, from_inclusive, to_inclusive)
  @from = from
  @to = to
  @from_inclusive = from_inclusive
  @to_inclusive = to_inclusive
end

Public Instance Methods

matches_doc?(doc) click to toggle source
# File lib/chef_zero/solr/query/range_query.rb, line 38
def matches_doc?(doc)
  matches_values?(doc[DEFAULT_FIELD])
end
matches_values?(values) click to toggle source
# File lib/chef_zero/solr/query/range_query.rb, line 16
def matches_values?(values)
  values.any? do |value|
    unless @from == '*'
      case @from <=> value
      when -1
        return false
      when 0
        return false if !@from_inclusive
      end
    end
    unless @to == '*'
      case value <=> @to
      when 1
        return false
      when 0
        return false if !@to_inclusive
      end
    end
    return true
  end
end
to_s() click to toggle source
# File lib/chef_zero/solr/query/range_query.rb, line 12
def to_s
  "#{@from_inclusive ? '[' : '{'}#{@from} TO #{@to}#{@to_inclusive ? ']' : '}'}"
end