class Clockker::CLI

Public Instance Methods

version() click to toggle source
# File lib/clockker/cli.rb, line 69
def version
  puts Clockker.version_string
end
watch() click to toggle source
# File lib/clockker/cli.rb, line 20
def watch
  logger = Logger.new(STDERR)
  case options[:verbose]
  when 'debug'
    logger.level = Logger::DEBUG
  when 'info'
    logger.level = Logger::INFO
  when 'warn'
    logger.level = Logger::WARN
  when 'error'
    logger.level = Logger::ERROR
  else # fatal and no preference
    logger.level = Logger::FATAL
  end
  logger.debug "Setting verbosity to #{options[:verbose]}"
  
  # config_params = {}
  # config_params[:submit_frequency] = options[:submit_frequency].to_i if options[:submit_frequency].present?
  # config_params[:log_level] = options[:verbose] if options[:verbose].present?
  # config_params[:token] = options[:token] if options[:token].present?
  # config_params[:whitelist] = options[:whitelist] if options[:whitelist].present?
  # config_params[:blacklist] = options[:blacklist] if options[:blacklist].present?

  clockker_config = Clockker::Config.new(
    submit_frequency: options[:submit_frequency].to_i,
    log_level: options[:verbose],
    identifier: options[:identifier]
  )

  clockker_config.token = options[:token] if options[:token]
  clockker_config.region = options[:region] if options[:region]
  clockker_config.whitelist = options[:whitelist] if options[:whitelist]
  clockker_config.blacklist = options[:blacklist] if options[:blacklist]
  clockker_config.development = options[:development] if options[:development]

  if options[:token].nil? && clockker_config.token.nil?
    puts "You must provide a value for the token, either as a parameter (--token=x) or in the ~/.clockker_config file."
    exit
  end

  if options[:region].nil? && clockker_config.region.nil?
    puts "You must provide a value for the server region (e.g. ca-central, us-east, eu-frankfurt, etc.), either as a parameter (--region=x) or in the ~/.clockker_config file."
    exit
  end

  Clockker::Watcher.new(clockker_config, logger: logger)
end