lib/benchmark/http/command.rb in benchmark-http-0.8.0 vs lib/benchmark/http/command.rb in benchmark-http-0.8.1

- old
+ new

@@ -25,12 +25,12 @@ require 'samovar' module Benchmark module HTTP module Command - def self.parse(*args) - Top.parse(*args) + def self.call(*args) + Top.call(*args) end class Top < Samovar::Command self.description = "An asynchronous HTTP server benchmark." @@ -38,36 +38,37 @@ option '--verbose | --quiet', "Verbosity of output for debugging.", key: :logging option '-h/--help', "Print out help information." option '-v/--version', "Print out the application version." end - nested '<command>', + nested :command, { 'concurrency' => Concurrency, 'spider' => Spider + } def verbose? @options[:logging] == :verbose end def quiet? @options[:logging] == :quiet end - def invoke(program_name: File.basename($0)) + def call if verbose? - Async.logger.level = Logger::DEBUG + Async.logger.debug! elsif quiet? - Async.logger.level = Logger::WARN + Async.logger.warn! else - Async.logger.level = Logger::INFO + Async.logger.info! end if @options[:version] - puts "benchmark-http v#{VERSION}" - elsif @options[:help] or @command.nil? - print_usage(program_name) + puts "#{self.name} v#{VERSION}" + elsif @options[:help] + self.print_usage else - @command.invoke(self) + @command.call end end end end end