File: //usr/local/rvm/gems/ruby-2.6.8@global/gems/rvm-1.11.3.9/lib/rvm/environment/alias.rb
module RVM
class Environment
# Returns a hash of aliases.
def alias_list
lines = normalize_array(rvm(:alias, :list).stdout)
lines.inject({}) do |acc, current|
alias_name, ruby_string = current.to_s.split(" => ")
unless alias_name.empty? || ruby_string.empty?
acc[alias_name] = ruby_string
end
acc
end
end
# Shows the full ruby string that a given alias points to.
def alias_show(name)
normalize rvm(:alias, :show, name.to_s).stdout
end
# Deletes an alias and returns the exit status.
def alias_delete(name)
rvm(:alias, :delete, name.to_s).successful?
end
# Creates an alias with the given name.
def alias_create(name, ruby_string)
rvm(:alias, :create, name.to_s, ruby_string.to_s).successful?
end
# Returns an aliases proxy which can be used in a more Ruby-like manner.
def aliases
@aliases ||= AliasWrapper.new(self)
end
# Provides a Ruby-like wrapper to the alias functionality.
class AliasWrapper
def initialize(parent)
@parent = parent
end
# Shows the value of a given alias.
def show(name)
@parent.alias_show name
end
alias [] show
# Deletes the given alias.
def delete(name)
@parent.alias_delete name
end
# Creates an alias with a given name and ruby string.
def create(name, ruby_string)
@parent.alias_create name, ruby_string
end
alias []= create
# Returns a hash of all aliases.
def list
@parent.alias_list
end
alias all list
end
end
end