class BenchmarkDriver::Output
def initialize(type:, metrics:, jobs:, contexts:, options:)
-
options
(Hash{ Symbol => Object }
) -- -
contexts
(Array
) -- -
jobs
(Array
) -- -
metrics
(Array
) -- -
type
(String
) --
def initialize(type:, metrics:, jobs:, contexts:, options:) output = ::BenchmarkDriver::Output.get(type) output_params = output.instance_method(:initialize).parameters.select do |type, _name| type == :keyreq || type == :key end.map(&:last) # Optionally pass `options` to #initialize kwargs = {} if output_params.include?(:options) kwargs[:options] = options end @output = output.new( metrics: metrics, jobs: jobs, contexts: contexts, **kwargs, ) end