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
36
37
38
39
40
|
# File 'app/controllers/notable_web/home_controller.rb', line 9
def index
@safe_params = params.slice(:status, :note_type, :note, :user_id, :user_type, :action_name, :status, :scope).permit!.to_h
where = @safe_params.slice(:status, :note_type, :note, :user_id, :user_type)
where = {notable_requests: where} if where.any?
page_method_name = Kaminari.config.page_method_name
@requests = Notable::Request.order("notable_requests.id DESC").where(where).preload(:user).public_send(page_method_name, params[:page]).per(100)
if params[:action_name]
@requests = @requests.where(action: params[:action_name])
end
if params[:status]
@requests = @requests.where("note_type != 'Slow Request'")
end
@requests =
case params[:scope]
when "slow_requests"
@requests.where("action IS NOT NULL AND (status = 503 OR note_type = 'Slow Request')")
when "referrer"
@requests.where("referrer IS NOT NULL")
when "external_referrer"
domain = PublicSuffix.parse(request.host).domain rescue request.host
@requests.where("referrer IS NOT NULL").where("referrer NOT LIKE ?", "%#{domain}%")
else
@requests
end
end
|