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