lib/searchlogic/condition/base.rb in searchlogic-1.6.0 vs lib/searchlogic/condition/base.rb in searchlogic-1.6.1

- old
+ new

@@ -88,11 +88,11 @@ # You should refrain from overwriting this method, it performs various tasks before callign your to_conditions method, allowing you to keep to_conditions simple. def sanitize(alt_value = nil) # :nodoc: return if value_is_meaningless? v = alt_value || value if v.is_a?(Array) && !self.class.handle_array_value? - merge_conditions(*v.collect { |i| sanitize(i) } << {:any => self.class.join_arrays_with_or?}) + scope_condition(merge_conditions(*v.collect { |i| sanitize(i) } << {:any => self.class.join_arrays_with_or?})) else v = v.utc if column && v.respond_to?(:utc) && [:time, :timestamp, :datetime].include?(column.type) && klass.time_zone_aware_attributes && !klass.skip_time_zone_conversion_for_attributes.include?(column.name.to_sym) to_conditions(v) end end @@ -119,10 +119,11 @@ end def meaningless?(v) case v when Array - false + v.each { |i| return false unless meaningless?(i) } + true else !explicitly_set_value? || (self.class.ignore_meaningless_value? && v != false && v.blank?) end end \ No newline at end of file