class Sunspot::Query::RangeFacet

Public Class Methods

new(field, options) click to toggle source
Calls superclass method Sunspot::Query::AbstractFieldFacet::new
# File lib/sunspot/query/range_facet.rb, line 5
def initialize(field, options)
  if exclude_filters = options[:exclude]
    @exclude_tag = Util.Array(exclude_filters).map do |filter|
      filter.tag
    end.join(',')
  end
  super
end

Public Instance Methods

to_params() click to toggle source
# File lib/sunspot/query/range_facet.rb, line 14
def to_params
  params = super
  params[:"facet.range"] = [field_name_with_local_params]
  params[qualified_param('range.start')] = @field.to_indexed(@options[:range].first)
  params[qualified_param('range.end')] = @field.to_indexed(@options[:range].last)
  params[qualified_param('range.gap')] = "#{@options[:range_interval] || 10}"
  params[qualified_param('range.include')] = @options[:include].to_s if @options[:include]
  params
end

Private Instance Methods

field_name_with_local_params() click to toggle source
# File lib/sunspot/query/range_facet.rb, line 36
def field_name_with_local_params
  if local_params.empty?
    @field.indexed_name
  else
    pairs = local_params.map do |key, value|
      "#{key}=#{value}"
    end
    "{!#{pairs.join(' ')}}#{@field.indexed_name}"
  end
end
local_params() click to toggle source
# File lib/sunspot/query/range_facet.rb, line 26
def local_params
  @local_params ||=
    begin
      local_params = {}
      local_params[:ex] = @exclude_tag if @exclude_tag
      local_params[:key] = @options[:name] if @options[:name]
      local_params
    end
end