module XSemVer::DSL::ClassMethods

def command(*command_names, &block)

Aliases methods for any subsequent command names.
The method executes the code of the given block.
Defines an instance method based on the first command name.
def command(*command_names, &block)
  method_name = "#{command_prefix}#{command_names.shift}"
  define_method method_name, &block
  command_names.each do |c|
    alias_method "#{command_prefix}#{c}", method_name
  end
end

def command_prefix

The prefix for any instance method defined by the ::command method.
def command_prefix
  :_run_
end