Module: RubySimpleSearch::ClassMethods

Defined in:
lib/ruby_simple_search.rb

Instance Method Summary collapse

Instance Method Details

#simple_search(q) ⇒ Object

Raises:

  • (ArgumentError)


53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/ruby_simple_search.rb', line 53

def simple_search(q)
  raise ArgumentError, "Argument is not string" unless q.is_a? String

  query = ""
  patterned_text = "%#{q.downcase}%"

  @simple_search_attributes.each do |attr|
    query += if query == ""
               "LOWER(#{attr.to_s}) LIKE ?" 
             else
               " OR LOWER(#{attr.to_s}) LIKE ?"
             end

  end

  where([query] + Array.new(@simple_search_attributes.size, patterned_text))
end