class Slh::Cli::CommandBase

Children should define .default_options and option_parser

Attributes

args[R]
option_parser[R]
options[R]

Public Class Methods

new(args) click to toggle source
# File lib/slh/cli/command_base.rb, line 11
def initialize(args)
  @options = self.default_options
  if args.nil?
    @args = [] 
  else
    @args = args.dup
  end
end

Public Instance Methods

default_options() click to toggle source
# File lib/slh/cli/command_base.rb, line 4
def default_options
 { }  # CHILD SHOULD DEFINE
end
execute() click to toggle source
# File lib/slh/cli/command_base.rb, line 25
def execute
  Slh.load_config unless self.class == Slh::Cli::Initialize
  self.option_parser.parse!(self.args)
  self.output_header
  self.perform_action
  self.output_footer
end
output_header() click to toggle source
# File lib/slh/cli/command_base.rb, line 19
def output_header
  Slh::Cli.instance.output "\n<<<< BEGIN #{self.class.to_s} >>>>\n"
end