module BenchmarkDriver::Rbenv

Public Class Methods

parse_spec(full_spec) click to toggle source

@param [String] full_spec - “2.5.0”, “2.5.0 –jit”, “JIT::2.5.0 –jit”, etc.

# File lib/benchmark_driver/rbenv.rb, line 15
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.shellsplit
  BenchmarkDriver::Config::Executable.new(
    name: name,
    command: [BenchmarkDriver::Rbenv.ruby_path(version), *args],
  )
end
ruby_path(version) click to toggle source

@param [String] version

# File lib/benchmark_driver/rbenv.rb, line 6
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