class Sunspot::Query::FieldFacet

Public Class Methods

new(field, options) click to toggle source
Calls superclass method Sunspot::Query::AbstractFieldFacet::new
# File lib/sunspot/query/field_facet.rb, line 4
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/field_facet.rb, line 13
def to_params
  super.merge(:"facet.field" => [field_name_with_local_params])
end

Private Instance Methods

field_name_with_local_params() click to toggle source
# File lib/sunspot/query/field_facet.rb, line 29
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/field_facet.rb, line 19
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