Module ScopedSearch::QueryBuilder::AST::LeafNode
In: lib/scoped_search/query_builder.rb

Defines the to_sql method for AST LeadNodes

Methods

to_sql  

Public Instance methods

[Source]

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

[Validate]