Skip to content

Commit 1cd565e

Browse files
committed
Extract SQL generation method
1 parent 972b9d7 commit 1cd565e

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

app/models/user_search.rb

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,16 @@
11
class UserSearch
22

33
def self.search term, topic_id
4+
sql = sql term, topic_id
5+
results = User.exec_sql(sql, topic_id: topic_id, term_like: "#{term}%", term: term)
6+
results = results.map do |r|
7+
r["avatar_template"] = User.avatar_template(r["email"])
8+
r.delete("email")
9+
r
10+
end
11+
end
12+
13+
def self.sql term, topic_id
414
sql = "select username, name, email from users u "
515
if topic_id
616
sql << "left join (select distinct p.user_id from posts p where topic_id = :topic_id) s on
@@ -26,13 +36,7 @@ def self.search term, topic_id
2636
end
2737

2838
sql << " case when last_seen_at is null then 0 else 1 end desc, last_seen_at desc, username asc limit(20)"
29-
30-
results = User.exec_sql(sql, topic_id: topic_id, term_like: "#{term}%", term: term)
31-
results = results.map do |r|
32-
r["avatar_template"] = User.avatar_template(r["email"])
33-
r.delete("email")
34-
r
35-
end
39+
sql
3640
end
3741

3842
end

0 commit comments

Comments
 (0)