class ROpen3

Constants

VERSION

Attributes

gemfile[R]
version[R]

Public Class Methods

new(version:, gemfile: nil) { |self| ... } click to toggle source
# File lib/ropen3.rb, line 11
def initialize(version:, gemfile: nil)
  @version = version
  @gemfile = gemfile

  @env = ROpen3::Environment.env(version: version, gemfile: gemfile)

  yield(self) if (block_given?)
end
version() click to toggle source
# File lib/ropen3/version.rb, line 6
def self.version
  VERSION
end

Public Instance Methods

popen3(*cmd, &block) click to toggle source
# File lib/ropen3.rb, line 20
def popen3(*cmd, &block)
  env_arg = @env.merge(
    # Pull off optional environment argument
    case (cmd.first)
    when Hash
      cmd.shift
    else
      { }
    end
  )

  if (defined?(Bundler))
    Bundler.with_unbundled_env do
      Open3.popen3(env_arg, *cmd, &block)
    end
  else
    Open3.popen3(env_arg, *cmd, &block)
  end
end