class Suppository::CLI

Public Class Methods

clazz(cmd) click to toggle source
# File lib/suppository/cli.rb, line 19
def self.clazz(cmd)
  require "suppository/#{cmd}_command"
  clazz_name(cmd).split('::').inject(Object) { |a, e| a.const_get e }
end
clazz_name(cmd) click to toggle source
# File lib/suppository/cli.rb, line 24
def self.clazz_name(cmd)
  "Suppository::#{cmd.capitalize}Command"
end
run(args) click to toggle source
# File lib/suppository/cli.rb, line 8
def self.run(args)
  raise UsageError if args.empty?
  cmd = args.delete_at(0)

  begin
    clazz(cmd).new(args).run
  rescue LoadError
    raise UsageError
  end
end