Class: Profiler::Collectors::ExceptionCollector
Instance Attribute Summary
#profile
Instance Method Summary
collapse
descendants, inherited, #initialize, #panel_content, #render_html, #render_mode
Instance Method Details
#capture(ex) ⇒ Object
41
42
43
|
# File 'lib/profiler/collectors/exception_collector.rb', line 41
def capture(ex)
capture_exception(ex) if ex && @exception_data.nil?
end
|
#collect ⇒ Object
45
46
47
48
49
|
# File 'lib/profiler/collectors/exception_collector.rb', line 45
def collect
ActiveSupport::Notifications.unsubscribe(@subscriber) if @subscriber
store_data(@exception_data || {})
end
|
#has_data? ⇒ Boolean
51
52
53
|
# File 'lib/profiler/collectors/exception_collector.rb', line 51
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
|
55
56
57
58
59
|
# File 'lib/profiler/collectors/exception_collector.rb', line 55
def toolbar_summary
return { text: "", color: "gray" } unless has_data?
{ text: @exception_data[:exception_class], color: "red" }
end
|