def evaluate(relation, attributes, param)
      if splat_param?
        conditions = attributes.map {|a| a.send(predicate, *format_param(param))}
      else
        conditions = attributes.map {|a| a.send(predicate, format_param(param))}
      end

      relation.where(conditions.inject(nil) {|memo, c| memo ? memo.or(c) : c})
    end
def evaluate(relation, attributes, param)
      if splat_param?
        conditions = attributes.map {|a| a.send(predicate, *format_param(param))}
      else
        conditions = attributes.map {|a| a.send(predicate, format_param(param))}
      end

      relation.where(conditions.inject(nil) {|memo, c| memo ? memo.or(c) : c})
    end
Evaluate the Where for the given relation, attribute, and parameter(s)