Sha256: 909d883f94be3edac967d1c711b956ef88ed1d5597b662a8f91c3d4256926f10

Contents?: true

Size: 843 Bytes

Versions: 19

Compression:

Stored size: 843 Bytes

Contents

module PerfMonger
module Command

class BaseCommand
  class << self
    attr_accessor :command_name
    attr_accessor :description
    attr_accessor :aliases

    def register_command(command_name, description = "")
      PerfMonger::CLI::Runner.register_command(command_name, self)
      self.command_name = command_name
      self.description = description
    end

    def register_alias(alias_name)
      if self.command_name
        RuntimeError.new("#{self} does not have registered command name.")
      end

      self.aliases ||= []
      self.aliases.push(alias_name)
      PerfMonger::CLI::Runner.register_alias(alias_name, self.command_name)
    end
  end

  def initialize
    @parser = OptionParser.new
    @parser.banner = <<EOS
Usage: #{File.basename($0)} #{self.class.command_name} [options]

Options:
EOS
  end
end

end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
perfmonger-0.14.4 lib/perfmonger/command/base_command.rb
perfmonger-0.14.2 lib/perfmonger/command/base_command.rb
perfmonger-0.14.1 lib/perfmonger/command/base_command.rb
perfmonger-0.14.0 lib/perfmonger/command/base_command.rb
perfmonger-0.13.1 lib/perfmonger/command/base_command.rb
perfmonger-0.12.1 lib/perfmonger/command/base_command.rb
perfmonger-0.12.0 lib/perfmonger/command/base_command.rb
perfmonger-0.11.2 lib/perfmonger/command/base_command.rb
perfmonger-0.11.1 lib/perfmonger/command/base_command.rb
perfmonger-0.11.0 lib/perfmonger/command/base_command.rb
perfmonger-0.10.2 lib/perfmonger/command/base_command.rb
perfmonger-0.10.1 lib/perfmonger/command/base_command.rb
perfmonger-0.9.0 lib/perfmonger/command/base_command.rb
perfmonger-0.8.2 lib/perfmonger/command/base_command.rb
perfmonger-0.8.1 lib/perfmonger/command/base_command.rb
perfmonger-0.8.0 lib/perfmonger/command/base_command.rb
perfmonger-0.7.1 lib/perfmonger/command/base_command.rb
perfmonger-0.7.0 lib/perfmonger/command/base_command.rb
perfmonger-0.6.1 lib/perfmonger/command/base_command.rb