class SolrLite::FacetField
Attributes
limit[RW]
name[RW]
range[RW]
range_end[RW]
range_gap[RW]
range_start[RW]
title[RW]
values[RW]
Public Class Methods
new(name, display_value)
click to toggle source
# File lib/facet_field.rb, line 20 def initialize(name, display_value) @name = name # field name in Solr @title = display_value @values = [] @ranges = [] @range = false @range_start = nil @range_end = nil @range_gap = nil @limit = nil end
Public Instance Methods
add_range(range_start, range_end, count)
click to toggle source
# File lib/facet_field.rb, line 44 def add_range(range_start, range_end, count) text = "#{range_start} - #{range_end}" value = FacetValue.new(text, count) value.range_start = range_start value.range_end = range_end @values << value end
add_value(text, count)
click to toggle source
# File lib/facet_field.rb, line 40 def add_value(text, count) @values << FacetValue.new(text, count) end
set_add_url_for(value, url)
click to toggle source
# File lib/facet_field.rb, line 66 def set_add_url_for(value, url) @values.each do |v| if v.text == value v.add_url = url end end end
set_remove_url_for(value, url)
click to toggle source
# File lib/facet_field.rb, line 58 def set_remove_url_for(value, url) @values.each do |v| if v.text == value v.remove_url = url end end end
set_urls_for(value, add_url, remove_url)
click to toggle source
# File lib/facet_field.rb, line 74 def set_urls_for(value, add_url, remove_url) @values.each do |v| if v.text == value v.add_url = add_url v.remove_url = remove_url end end end
to_qs(text)
click to toggle source
# File lib/facet_field.rb, line 32 def to_qs(text) "#{@name}|#{CGI.escape(text)}" end
to_qs_range(range_start, range_end)
click to toggle source
# File lib/facet_field.rb, line 36 def to_qs_range(range_start, range_end) "#{@name}^#{range_start},#{range_end}" end
value_count(text)
click to toggle source
# File lib/facet_field.rb, line 52 def value_count(text) v = @values.find {|v| v.text == text} return 0 if v == nil v.count end