class MotherBrain::Cli::Base

Public Class Methods

register_subcommand(klass) click to toggle source

Registers a SubCommand with this Cli::Base class

@param [MB::Cli::SubCommand] klass

# File lib/mb/cli/base.rb, line 12
def register_subcommand(klass)
  self.register(klass, klass.name.gsub('-', '_'), klass.usage.gsub('-', '_'), klass.description)
end
ui() click to toggle source

@return [MB::Cli::Shell::Color, MB::Cli::Shell::Basic]

# File lib/mb/cli/base.rb, line 17
def ui
  @ui ||= MB::Cli::Shell.shell.new
end

Public Instance Methods

display_job(job) click to toggle source

@param [MB::Job] job

# File lib/mb/cli/base.rb, line 24
def display_job(job)
  CliClient.new(job).display
end
requires_one_of(*valid_options) click to toggle source
# File lib/mb/cli/base.rb, line 36
def requires_one_of(*valid_options)
  valid_options = valid_options.flatten

  return if options.slice(*valid_options).any?

  valid_cli_arguments = valid_options.map { |key|
    key.to_s.dasherize.prepend('--')
  }

  ui.say "Requires one of #{valid_cli_arguments.join(', ')}"
  exit 1
end
ui() click to toggle source

@return [MB::Cli::Shell::Color, MB::Cli::Shell::Basic]

# File lib/mb/cli/base.rb, line 32
def ui
  self.class.ui
end