Module: BenchmarkDriver::Rbenv

Defined in:
lib/benchmark_driver/rbenv.rb

Class Method Summary collapse

Class Method Details

.parse_spec(full_spec) ⇒ Object

Parameters:

  • full_spec (String)
    • “2.5.0”, “2.5.0 –jit”, “JIT::2.5.0 –jit”, etc.



15
16
17
18
19
20
21
22
23
# 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) ⇒ Object

Parameters:

  • version (String)


6
7
8
9
10
11
12
# 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