resolution for issue #151 - search with multiple words

This commit is contained in:
rmaskey 2010-10-10 08:43:43 -07:00
parent c646db956e
commit 94f20ba684

View file

@ -34,8 +34,23 @@ class Person
/^(https?):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*(\.[a-z]{2,5})?(:[0-9]{1,5})?(\/.*)?$/ix
def self.search(query)
query = Regexp.escape( query.to_s.strip )
Person.all('profile.first_name' => /^#{query}/i) | Person.all('profile.last_name' => /^#{query}/i)
qTokens = query.to_s.strip.split(" ")
fullQueryText = Regexp.escape( query.to_s.strip )
p = Person.all('profile.first_name' => /^#{fullQueryText}/i) \
| Person.all('profile.last_name' => /^#{fullQueryText}/i)
qTokens.each {
|token|
q = Regexp.escape( token.to_s.strip )
p = Person.all('profile.first_name' => /^#{q}/i) \
| Person.all('profile.last_name' => /^#{q}/i) \
| p
}
return p
end
def real_name