Class: HammerCLIForemanTasks::CommandExtensions::RecurringLogic

Inherits:
HammerCLI::CommandExtensions
  • Object
show all
Defined in:
lib/hammer_cli_foreman_tasks/command_extensions/recurring_logic.rb

Class Method Summary collapse

Class Method Details

.format_recurring_logic_limit(thing) ⇒ Object



50
51
52
# File 'lib/hammer_cli_foreman_tasks/command_extensions/recurring_logic.rb', line 50

def self.format_recurring_logic_limit(thing)
  thing || _('Unlimited')
end

.format_task_input(task) ⇒ Object



44
45
46
47
48
# File 'lib/hammer_cli_foreman_tasks/command_extensions/recurring_logic.rb', line 44

def self.format_task_input(task)
  return '-' unless task

  task['action']
end

.recurring_logic_last_occurrence(recurring_logic) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/hammer_cli_foreman_tasks/command_extensions/recurring_logic.rb', line 28

def self.recurring_logic_last_occurrence(recurring_logic)
  last_task = recurring_logic['tasks'].select { |t| t['started_at'] }
                                      .max { |a, b| a['started_at'] <=> b['started_at'] }
  return '-' if last_task.nil? || last_task['started_at'].nil?

  last_task['started_at']
end

.recurring_logic_next_occurrence(recurring_logic) ⇒ Object



36
37
38
39
40
41
42
# File 'lib/hammer_cli_foreman_tasks/command_extensions/recurring_logic.rb', line 36

def self.recurring_logic_next_occurrence(recurring_logic)
  default = '-'
  return default if %w[cancelled finished disabled].include?(recurring_logic['state'])

  last_task = recurring_logic['tasks'].max { |a, b| a['start_at'] <=> b['start_at'] }
  last_task ? last_task['start_at'] : default
end