-
Notifications
You must be signed in to change notification settings - Fork 1.8k
/
Copy pathexecute_search.rb
35 lines (33 loc) · 1.35 KB
/
execute_search.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class ExecuteSearch
def by(type, search_criteria)
execute(type, search_criteria)
end
private
def execute(type, search_criteria)
sservice = SearchService.new
case type
when :all
sservice.search_all(search_criteria)
when :profiles
sservice.search_profiles(search_criteria)
when :notes
sservice.search_notes(search_criteria.query, search_criteria.limit)
when :content
sservice.search_content(search_criteria.query, search_criteria.limit)
when :nodes
sservice.search_nodes(search_criteria.query, search_criteria.limit)
when :wikis
sservice.search_wikis(search_criteria.query, search_criteria.limit)
when :questions
sservice.search_questions(search_criteria.query, search_criteria.limit, search_criteria.sort_by)
when :tags
sservice.search_tags(search_criteria.query, search_criteria.limit)
when :taglocations
sservice.tagNearbyNodes(search_criteria.coordinates, search_criteria.tag, search_criteria.period, search_criteria.sort_by, search_criteria.order_direction, search_criteria.limit)
when :nearbyPeople
sservice.tagNearbyPeople(search_criteria.coordinates, search_criteria.tag, search_criteria.field, search_criteria.period, search_criteria.sort_by, search_criteria.order_direction, search_criteria.limit)
else
[]
end
end
end