Class: Profiler::Collectors::JobCollector

Inherits:
BaseCollector show all
Defined in:
lib/profiler/collectors/job_collector.rb

Instance Attribute Summary

Attributes inherited from BaseCollector

#profile

Instance Method Summary collapse

Methods inherited from BaseCollector

descendants, inherited, #name, #panel_content, #render_html, #render_mode, #subscribe

Constructor Details

#initialize(profile, job_data = {}) ⇒ JobCollector

Returns a new instance of JobCollector.



8
9
10
11
# File 'lib/profiler/collectors/job_collector.rb', line 8

def initialize(profile, job_data = {})
  super(profile)
  @job_data = job_data.merge(status: "running")
end

Instance Method Details

#collectObject



37
38
39
# File 'lib/profiler/collectors/job_collector.rb', line 37

def collect
  store_data(@job_data)
end

#has_data?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/profiler/collectors/job_collector.rb', line 41

def has_data?
  @job_data.key?(:job_class)
end

#iconObject



13
14
15
# File 'lib/profiler/collectors/job_collector.rb', line 13

def icon
  "⚙️"
end

#priorityObject



17
18
19
# File 'lib/profiler/collectors/job_collector.rb', line 17

def priority
  5
end

#tab_configObject



21
22
23
24
25
26
27
28
29
30
# File 'lib/profiler/collectors/job_collector.rb', line 21

def tab_config
  {
    key: "job",
    label: "Job",
    icon: icon,
    priority: priority,
    enabled: true,
    default_active: true
  }
end

#toolbar_summaryObject



45
46
47
# File 'lib/profiler/collectors/job_collector.rb', line 45

def toolbar_summary
  { text: @job_data[:job_class].to_s, color: @job_data[:status] == "failed" ? "red" : "green" }
end

#update_status(status, error_message = nil) ⇒ Object



32
33
34
35
# File 'lib/profiler/collectors/job_collector.rb', line 32

def update_status(status, error_message = nil)
  @job_data[:status] = status
  @job_data[:error] = error_message if error_message
end