Class: Profiler::Collectors::ExceptionCollector
Instance Attribute Summary
#profile
Instance Method Summary
collapse
descendants, inherited, #initialize, #panel_content, #render_html, #render_mode
Instance Method Details
#collect ⇒ Object
41
42
43
44
45
|
# File 'lib/profiler/collectors/exception_collector.rb', line 41
def collect
ActiveSupport::Notifications.unsubscribe(@subscriber) if @subscriber
store_data(@exception_data || {})
end
|
#has_data? ⇒ Boolean
47
48
49
|
# File 'lib/profiler/collectors/exception_collector.rb', line 47
def has_data?
!@exception_data.nil? && !@exception_data.empty?
end
|
#icon ⇒ Object
8
9
10
|
# File 'lib/profiler/collectors/exception_collector.rb', line 8
def icon
"💥"
end
|
#name ⇒ Object
16
17
18
|
# File 'lib/profiler/collectors/exception_collector.rb', line 16
def name
"exception"
end
|
#priority ⇒ Object
12
13
14
|
# File 'lib/profiler/collectors/exception_collector.rb', line 12
def priority
5
end
|
#subscribe ⇒ Object
31
32
33
34
35
36
37
38
39
|
# File 'lib/profiler/collectors/exception_collector.rb', line 31
def subscribe
@exception_data = nil
@subscriber = ActiveSupport::Notifications.subscribe("process_action.action_controller") do |*args|
event = ActiveSupport::Notifications::Event.new(*args)
ex = event.payload[:exception_object]
capture_exception(ex) if ex && @exception_data.nil?
end
end
|
#tab_config ⇒ Object
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/profiler/collectors/exception_collector.rb', line 20
def tab_config
{
key: "exception",
label: "Exception",
icon: icon,
priority: priority,
enabled: true,
default_active: false
}
end
|
51
52
53
54
55
|
# File 'lib/profiler/collectors/exception_collector.rb', line 51
def toolbar_summary
return { text: "", color: "gray" } unless has_data?
{ text: @exception_data[:exception_class], color: "red" }
end
|