Module: RocketJobMissionControl::JobsHelper

Defined in:
app/helpers/rocket_job_mission_control/jobs_helper.rb

Instance Method Summary collapse

Instance Method Details



35
36
37
38
39
40
41
42
43
44
# File 'app/helpers/rocket_job_mission_control/jobs_helper.rb', line 35

def job_action_link(action, path, http_method=:get)
  link_to(
    action,
    path,
    method: http_method,
    title:  "#{action} job",
    class:  'btn btn-default',
    data:   {confirm: t(:confirm, scope: [:job, :action], action: action)}
  )
end


46
47
48
49
50
51
52
53
54
55
# File 'app/helpers/rocket_job_mission_control/jobs_helper.rb', line 46

def job_action_links_for_show(action, path, http_method=:get)
  link_to(
    action,
    path,
    method: http_method,
    title:  "#{action} job",
    class:  'btn btn-primary',
    data:   {confirm: t(:confirm, scope: [:job, :action], action: action)}
  )
end

#job_counts_by_state(state) ⇒ Object



26
27
28
29
30
31
32
33
# File 'app/helpers/rocket_job_mission_control/jobs_helper.rb', line 26

def job_counts_by_state(state)
  @job_counts ||= begin
    counts          = RocketJob::Job.counts_by_state
    counts[:queued] = counts[:queued_now] || 0
    counts
  end
  @job_counts.fetch(state.downcase.to_sym, 0)
end

#job_icon(job) ⇒ Object



3
4
5
6
# File 'app/helpers/rocket_job_mission_control/jobs_helper.rb', line 3

def job_icon(job)
  state = job_state(job)
  state_icon(state)
end

#job_selected_class(job, selected_job) ⇒ Object



57
58
59
60
61
62
63
# File 'app/helpers/rocket_job_mission_control/jobs_helper.rb', line 57

def job_selected_class(job, selected_job)
  if selected_job.present? && job.id == selected_job.id
    'selected'
  else
    ''
  end
end

#job_state(job) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'app/helpers/rocket_job_mission_control/jobs_helper.rb', line 8

def job_state(job)
  if job.scheduled?
    :scheduled
  elsif job.sleeping?
    :sleeping
  else
    job.state
  end
end

#job_statesObject



18
19
20
# File 'app/helpers/rocket_job_mission_control/jobs_helper.rb', line 18

def job_states
  @job_states ||= RocketJob::Job.aasm.states.map { |state| state.name.to_s }
end

#job_states_with_scheduledObject



22
23
24
# File 'app/helpers/rocket_job_mission_control/jobs_helper.rb', line 22

def job_states_with_scheduled
  @job_states_with_scheduled ||= ['scheduled'] + job_states
end