class Locd::CLI::Command::Job
TODO Doc me pls
Definitions
¶ ↑
Public Class Methods
agent_class()
click to toggle source
parse_every_option(value)
click to toggle source
# File lib/locd/cli/command/job.rb, line 42 def self.parse_every_option value case value when /\A\d+\z/, /\A\d+s\z/ value.to_i when /\A\d+m\z/ value[0...-1].to_i * 60 when /\A\d+h\z/ value[0...-1].to_i * 60 * 60 when /\A\d+d\z/ value[0...-1].to_i * 60 * 60 * 24 else raise ArgumentError, "Can't parse `every` option value: #{ value.inspect }" end end
Public Instance Methods
add(*cmd_template, **kwds)
click to toggle source
Calls superclass method
Locd::CLI::Command::Agent#add
# File lib/locd/cli/command/job/add.rb, line 37 def add *cmd_template, **kwds logger.trace "#{ self.class.name }##{ __method__ }", options: options, cmd_template: cmd_template, kwds: kwds, shared: self.class.shared_method_options kwds[:start_interval] ||= get_start_interval super *cmd_template, **kwds end
Protected Instance Methods
agent_table(agents)
click to toggle source
get_start_interval()
click to toggle source
# File lib/locd/cli/command/job.rb, line 72 def get_start_interval if options[:every] && options[:at] raise Thor::ConflictingArgumentError, "Don't supply both `every` and `at` options" end start_interval = if options[:every] self.class.parse_every_option options[:every] elsif options[:at] options[:at].map { |key, value| [key.to_sym, value.to_i] }.to_h else raise Thor::RequiredArgumentMissingError, "Must provide `every` or `at` option" end logger.debug "Parsed start interval", start_interval: start_interval start_interval end