lib/thinking_sphinx/facet.rb in dpickett-thinking-sphinx-1.1.4 vs lib/thinking_sphinx/facet.rb in dpickett-thinking-sphinx-1.1.12

- old
+ new

@@ -7,29 +7,42 @@ if reference.columns.length != 1 raise "Can't translate Facets on multiple-column field or attribute" end end + + def self.name_for(facet) + case facet + when Facet + facet.name + when String, Symbol + facet.to_s.gsub(/(_facet|_crc)$/,'').to_sym + end + end def name reference.unique_name end + + def self.attribute_name_for(name) + name.to_s == 'class' ? 'class_crc' : "#{name}_facet" + end def attribute_name - @attribute_name ||= case @reference - when Attribute - @reference.unique_name.to_s - when Field - @reference.unique_name.to_s + "_sort" - end + # @attribute_name ||= case @reference + # when Attribute + # @reference.unique_name.to_s + # when Field + @attribute_name ||= @reference.unique_name.to_s + "_facet" + # end end def value(object, attribute_value) return translate(object, attribute_value) if @reference.is_a?(Field) case @reference.type - when :string, :multi + when :string translate(object, attribute_value) when :datetime Time.at(attribute_value) when :boolean attribute_value > 0 @@ -40,11 +53,11 @@ def to_s name end - protected + private def translate(object, attribute_value) column.__stack.each { |method| object = object.send(method) } @@ -53,6 +66,6 @@ def column @reference.columns.first end end -end \ No newline at end of file +end