class Sunspot::Search::FieldJsonFacet

Attributes

name[R]

Public Class Methods

new(field, search, options) click to toggle source
# File lib/sunspot/search/field_json_facet.rb, line 7
def initialize(field, search, options)
  @name, @search, @options = name, search, options
  @field = field
end

Public Instance Methods

rows() click to toggle source
# File lib/sunspot/search/field_json_facet.rb, line 12
def rows
  @rows ||=
    begin
      json_facet_response = @search.json_facet_response[@field.name.to_s]
      data = json_facet_response.nil? ? [] : json_facet_response['buckets']
      rows = []
      data.each do |d|
        rows << JsonFacetRow.new(d, self)
      end

      if @options[:sort] == :count
        rows.sort! { |lrow, rrow| rrow.count <=> lrow.count }
      else
        rows.sort! { |lrow, rrow| lrow.value <=> rrow.value }
      end
      rows
    end

end