Class: RailsPulse::Route
Constant Summary
Constants included
from Taggable
Taggable::MAX_TAG_LENGTH, Taggable::TAG_NAME_REGEX
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Taggable
#add_tag, #has_tag?, #remove_tag, #tag_list, #tag_list=
Class Method Details
.average_response_time ⇒ Object
81
82
83
|
# File 'app/models/rails_pulse/route.rb', line 81
def self.average_response_time
joins(:requests).average("rails_pulse_requests.duration") || 0
end
|
.by_method_and_path(method, path) ⇒ Object
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'app/models/rails_pulse/route.rb', line 15
def self.by_method_and_path(method, path)
route = find_by(method: method, path: path)
return route if route
insert(
{ method: method, path: path, tags: "[]", created_at: Time.current, updated_at: Time.current }
)
find_by!(method: method, path: path)
end
|
.ransackable_associations(auth_object = nil) ⇒ Object
37
38
39
|
# File 'app/models/rails_pulse/route.rb', line 37
def self.ransackable_associations(auth_object = nil)
%w[requests]
end
|
.ransackable_attributes(auth_object = nil) ⇒ Object
33
34
35
|
# File 'app/models/rails_pulse/route.rb', line 33
def self.ransackable_attributes(auth_object = nil)
%w[path average_response_time_ms max_response_time_ms request_count requests_per_minute occurred_at requests_occurred_at error_count error_rate_percentage status_indicator]
end
|
Instance Method Details
#path_and_method ⇒ Object
85
86
87
|
# File 'app/models/rails_pulse/route.rb', line 85
def path_and_method
"#{path} #{method}"
end
|
#to_breadcrumb ⇒ Object
77
78
79
|
# File 'app/models/rails_pulse/route.rb', line 77
def to_breadcrumb
"#{method.upcase} #{path}".truncate(60)
end
|