File: //usr/local/rvm/gems/ruby-2.7.4@global/gems/rvm-1.11.3.9/lib/rvm/environment/env.rb
module RVM
class Environment
# Returns the contents of the env file.
#
# env.env_contents # => ['export PATH= ....', ...]
#
def env_contents
rvm(:env, environment_name).stdout.split
end
# Returns the path to the env file
# Suppose that you are in the 1.9.2 environment.
#
# env.env_path # => "~/.rvm/environments/ruby-1.9.2-p0"
#
def env_path
normalize_array rvm(:env, environment_name, :path => true).stdout
end
# Returns a ruby-like wrapper for the env functions
def env
@env_wrapper ||= EnvWrapper.new(self)
end
# Returns the path for the given command
#
# Suppose that you are in the 1.9.2 environment.
#
# env.path_for(:rspec) # => '~/.rvm/gems/ruby-1.9.2-p0/bin/rspec'
# env.path_for(:ruby) # => '~/.rvm/rubies/ruby-1.9.2-p0/bin/ruby'
#
def path_for(command)
run(:command, "-v", command).stdout.strip
end
alias which path_for
# Simple ruby like wrapper for envs.
class EnvWrapper
def initialize(parent)
@parent = parent
end
# Contents of the env file.
def contents
@parent.env_contents
end
alias read contents
alias to_s contents
# The path of the env file.
def path
@parent.env_path
end
# Opens a file on the env file.
def to_file
File.open(path)
end
end
end
end