Module: Searchlogic::Search::Conditions
- Included in:
- Searchlogic::Search
- Defined in:
- lib/searchlogic/search/conditions.rb
Instance Method Summary collapse
- #compact_conditions ⇒ Object
-
#conditions ⇒ Object
Returns a hash of the current conditions set.
-
#conditions=(values) ⇒ Object
Accepts a hash of conditions.
-
#delete(*names) ⇒ Object
Delete a condition from the search.
Instance Method Details
#compact_conditions ⇒ Object
9 10 11 |
# File 'lib/searchlogic/search/conditions.rb', line 9 def compact_conditions conditions.select { |k,v| !v.blank? } end |
#conditions ⇒ Object
Returns a hash of the current conditions set.
5 6 7 |
# File 'lib/searchlogic/search/conditions.rb', line 5 def conditions mass_conditions.clone.merge(@conditions) end |
#conditions=(values) ⇒ Object
Accepts a hash of conditions.
14 15 16 17 18 19 20 21 |
# File 'lib/searchlogic/search/conditions.rb', line 14 def conditions=(values) values.each do |condition, value| mass_conditions[condition.to_sym] = value value.delete_if { |v| ignore_value?(v) } if value.is_a?(Array) next if ignore_value?(value) send("#{condition}=", value) end end |
#delete(*names) ⇒ Object
Delete a condition from the search. Since conditions map to named scopes, if a named scope accepts a parameter there is no way to actually delete the scope if you do not want it anymore. A nil value might be meaningful to that scope.
27 28 29 30 31 32 33 |
# File 'lib/searchlogic/search/conditions.rb', line 27 def delete(*names) names.each do |name| @conditions.delete(name.to_sym) mass_conditions.delete(name) end self end |