class Warg::Command

Attributes

registry[R]

Public Class Methods

find(argv) click to toggle source
# File lib/warg.rb, line 1798
def self.find(argv)
  klass = nil

  argv.each do |arg|
    if @registry.key?(arg)
      klass = @registry.fetch(arg)
    end
  end

  klass
end
inherited(klass) click to toggle source
# File lib/warg.rb, line 1794
def self.inherited(klass)
  register(klass)
end
register(klass) click to toggle source
# File lib/warg.rb, line 1784
def self.register(klass)
  if Warg::Command.registry.key?(klass.registry_name)
    # TODO: include debug information in the warning
    $stderr.puts "[WARN] command with the name `#{klass.command_name}' already exists " \
      "and is being replaced"
  end

  Warg::Command.registry[klass.registry_name] = klass
end