class FortyFacets::FacetFilterDefinition::AssociationFacetFilter
Public Instance Methods
add(entity)
click to toggle source
# File lib/forty_facets/filter/facet_filter_definition.rb, line 39 def add(entity) new_params = search_instance.params || {} old_values = new_params[definition.request_param] ||= [] old_values << entity.id.to_s search_instance.class.new_unwrapped(new_params, search_instance.root) end
remove(entity)
click to toggle source
# File lib/forty_facets/filter/facet_filter_definition.rb, line 31 def remove(entity) new_params = search_instance.params || {} old_values = new_params[definition.request_param] old_values.delete(entity.id.to_s) new_params.delete(definition.request_param) if old_values.empty? search_instance.class.new_unwrapped(new_params, search_instance.root) end
selected()
click to toggle source
# File lib/forty_facets/filter/facet_filter_definition.rb, line 27 def selected @selected ||= definition.association.klass.unscoped.find(Array.wrap(values).reject(&:blank?)) end