class Yardstick::CLI

Handle the yardstick command line interface

def self.display_exit(message)

Other tags:
    Api: - private

Returns:
  • (undefined) -

Parameters:
  • message (#to_str) --
def self.display_exit(message)
  puts message.to_str
  exit
end

def self.option_parser(_options)

Other tags:
    Api: - private

Returns:
  • (Yardstick::OptionParser) -

Parameters:
  • _options (Hash) --
def self.option_parser(_options)
  opts = OptionParser.new
  opts.on_tail('-v', '--version', 'print version information and exit') { display_exit("#{opts.program_name} #{Yardstick::VERSION}") }
  opts.on_tail('-h', '--help',    'display this help and exit')         { display_exit(opts.to_s) }
  opts
end

def self.parse_config(args)

Other tags:
    Api: - private

Returns:
  • (Config) -

Parameters:
  • args (Array) --
def self.parse_config(args)
  args << '--help' if args.empty?
  options = {}
  option_parser(options).parse!(args)
  Config.new(options.merge(:path => args))
rescue OptionParser::InvalidOption => error
  display_exit(error.message)
end

def self.run(*args)

Other tags:
    Api: - public

Returns:
  • (Yardstick::MeasurementSet) -

Parameters:
  • args (Array) --
def self.run(*args)
  measurements = Yardstick.measure(parse_config(args))
  measurements.puts
  measurements
end