Module: Facetious::FacetedClassMethods

Defined in:
lib/facetious.rb

Overview

These methods are made available on faceted ActiveRecord classes:

Instance Method Summary collapse

Instance Method Details

#find_by_facets(facet_values_hash) ⇒ Object



122
123
124
# File 'lib/facetious.rb', line 122

def find_by_facets facet_values_hash
  self.class.where(where_clause_for_facets facet_values_hash)
end

#where_clause_for_facets(facet_values_hash) ⇒ Object



115
116
117
118
119
120
# File 'lib/facetious.rb', line 115

def where_clause_for_facets facet_values_hash
  facet_values_hash.map do |facet_name, value|
	facet = facets[facet_name.to_sym] or raise "#{self.name} has no search facet #{facet_name}"
	facet.condition_for value
  end*" AND "
end