Module | ScopedSearch::QueryBuilder::AST::LeafNode |
In: |
lib/scoped_search/query_builder.rb
|
# File lib/scoped_search/query_builder.rb, line 340 340: def to_sql(builder, definition, &block) 341: # for boolean fields allow a short format (example: for 'enabled = true' also allow 'enabled') 342: field = definition.field_by_name(value) 343: if field && field.set? && field.complete_value.values.include?(true) 344: key = field.complete_value.map{|k,v| k if v == true}.compact.first 345: return builder.set_test(field, :eq, key, &block) 346: end 347: # Search keywords found without context, just search on all the default fields 348: fragments = definition.default_fields_for(value).map do |field| 349: builder.sql_test(field, field.default_operator, value,'', &block) 350: end 351: 352: case fragments.length 353: when 0 then nil 354: when 1 then fragments.first 355: else "#{fragments.join(' OR ')}" 356: end 357: end