lib/benchmark_driver/rbenv.rb in benchmark_driver-0.10.8 vs lib/benchmark_driver/rbenv.rb in benchmark_driver-0.10.9
- old
+ new
@@ -1,11 +1,23 @@
module BenchmarkDriver
module Rbenv
+ # @param [String] version
def self.ruby_path(version)
path = `RBENV_VERSION='#{version}' rbenv which ruby`.rstrip
unless $?.success?
abort "Failed to execute 'rbenv which ruby'"
end
path
+ end
+
+ # @param [String] full_spec - "2.5.0", "2.5.0,--jit", "JIT::2.5.0,--jit", etc.
+ def self.parse_spec(full_spec)
+ name, spec = full_spec.split('::', 2)
+ spec ||= name # if `::` is not given, regard whole string as spec
+ version, *args = spec.split(',')
+ BenchmarkDriver::Config::Executable.new(
+ name: name,
+ command: [BenchmarkDriver::Rbenv.ruby_path(version), *args],
+ )
end
end
end