class Yardstick::CLI
Handle the yardstick command line interface
def self.display_exit(message)
- Api: - private
Returns:
-
(undefined)
-
Parameters:
-
message
(#to_str
) --
def self.display_exit(message) puts message.to_str exit end
def self.option_parser(_options)
- 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)
- 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)
- Api: - public
Returns:
-
(Yardstick::MeasurementSet)
-
Parameters:
-
args
(Array
) --
def self.run(*args) measurements = Yardstick.measure(parse_config(args)) measurements.puts measurements end