class HammerCLIForemanTasks::CommandExtensions::RecurringLogic

Public Class Methods

format_recurring_logic_limit(thing) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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