class FortyFacets::TextFilterDefinition::TextFilter

Public Instance Methods

build_scope() click to toggle source
# File lib/forty_facets/filter/text_filter_definition.rb, line 4
def build_scope
  return Proc.new { |base| base } if empty?
  like_value = expression_value(value)
  operator = definition.options[:ignore_case] ? 'ILIKE' : 'LIKE'
  Proc.new {  |base| base.joins(definition.joins).where("#{definition.qualified_column_name} #{operator} ?", like_value ) }
end
expression_value(term) click to toggle source
# File lib/forty_facets/filter/text_filter_definition.rb, line 11
def expression_value(term)
  if definition.options[:prefix]
   "#{term}%"
  else
   "%#{term}%"
  end
end