468 def to_sql(builder, definition, &block)
469
470 field = definition.field_by_name(value)
471 if field && field.set? && field.complete_value.values.include?(true)
472 key = field.complete_value.map{|k,v| k if v == true}.compact.first
473 sql, *params = builder.set_test(field, :eq, key, &block)
474 params.each { |p| yield(:parameter, p) }
475 return sql
476 end
477
478 fragments = definition.default_fields_for(value).map do |field|
479 builder.sql_test(field, field.default_operator, value,'', &block)
480 end
481
482 case fragments.length
483 when 0 then nil
484 when 1 then fragments.first
485 else "#{fragments.join(' OR ')}"
486 end
487 end