class Aruba::Platforms::UnixEnvironmentVariables
Abstract environment variables
Constants
- UNDEFINED
We need to use this, because `nil` is a valid value as default
Attributes
env[R]
Public Class Methods
new(env = ENV.to_hash)
click to toggle source
# File lib/aruba/platforms/unix_environment_variables.rb, line 16 def initialize(env = ENV.to_hash) @env = Marshal.load(Marshal.dump(env)) end
Public Instance Methods
[](name)
click to toggle source
Get value of variable
@param [#to_s] name
The name of the variable
# File lib/aruba/platforms/unix_environment_variables.rb, line 68 def [](name) env[name.to_s] end
[]=(name, value)
click to toggle source
Set value of variable
@param [#to_s] name
The name of the variable
@param [#to_s] value
The value of the variable
# File lib/aruba/platforms/unix_environment_variables.rb, line 79 def []=(name, value) env[name.to_s] = value.to_s self end
append(name, value)
click to toggle source
Append value to variable
@param [#to_s] name
The name of the variable
@param [#to_s] value
The value of the variable
# File lib/aruba/platforms/unix_environment_variables.rb, line 92 def append(name, value) name = name.to_s env[name] = env[name].to_s + value.to_s self end
clear()
click to toggle source
Reset environment
# File lib/aruba/platforms/unix_environment_variables.rb, line 136 def clear env.clear self end
delete(name)
click to toggle source
Delete variable
@param [#to_s] name
The name of the variable
# File lib/aruba/platforms/unix_environment_variables.rb, line 117 def delete(name) env.delete name.to_s self end
fetch(name, default = UNDEFINED)
click to toggle source
Fetch variable from environment
@param [#to_s] name
The name of the variable
@param [Object] default
The default value used, if the variable is not defined
# File lib/aruba/platforms/unix_environment_variables.rb, line 48 def fetch(name, default = UNDEFINED) if default == UNDEFINED env.fetch name.to_s else env.fetch name.to_s, default end end
key?(name)
click to toggle source
Check if variable exist
@param [#to_s] name
The name of the variable
# File lib/aruba/platforms/unix_environment_variables.rb, line 60 def key?(name) env.key? name.to_s end
prepend(name, value)
click to toggle source
Prepend value to variable
@param [#to_s] name
The name of the variable
@param [#to_s] value
The value of the variable
# File lib/aruba/platforms/unix_environment_variables.rb, line 106 def prepend(name, value) name = name.to_s env[name] = value.to_s + env[name].to_s self end
to_h()
click to toggle source
Convert to hash
@return [Hash]
A new hash from environment
# File lib/aruba/platforms/unix_environment_variables.rb, line 127 def to_h if RUBY_VERSION < '2.0' Marshal.load(Marshal.dump(env.to_hash)) else Marshal.load(Marshal.dump(env.to_h)) end end
update(other_env, &block)
click to toggle source
Update environment with other en
@param [#to_hash, to_h] other_env
Another environment object or hash
@yield
Pass block to env
# File lib/aruba/platforms/unix_environment_variables.rb, line 27 def update(other_env, &block) if RUBY_VERSION <= '1.9.3' # rubocop:disable Style/EachWithObject other_env = other_env.to_hash.inject({}) { |a, (k, v)| a[k] = v.to_s; a } # rubocop:enable Style/EachWithObject else other_env = other_env.to_h.each_with_object({}) { |(k, v), a| a[k] = v.to_s } end env.update(other_env, &block) self end