class Google::Cloud::Env::Variables
Access to system environment variables.
This is a hashlike object that controls access to environment variable data. It supports temporarily changing the data source (i.e. swapping ::ENV out for a different set of data) for mocking.
Attributes
The backing data is a hash or hash-like object that represents the environment variable data. This can either be the actual environment variables object (i.e. ENV) or a substitute hash used for mocking.
@return [Hash{String=>String}]
Public Class Methods
Source
# File lib/google/cloud/env/variables.rb, line 33 def initialize @backing_data = ::ENV end
Create an enviroment variables access object. This is initially backed by the actual environment variables (i.e. ENV).
Public Instance Methods
Source
# File lib/google/cloud/env/variables.rb, line 43 def [] key @backing_data[key.to_s] end
Fetch the given environment variable from the backing data.
@param key [String] @return [String,nil]
Source
# File lib/google/cloud/env/variables.rb, line 64 def with_backing_data temp_backing_data old_backing_data = @backing_data begin @backing_data = temp_backing_data yield ensure @backing_data = old_backing_data end end
Run the given block with the backing data replaced with the given hash. The original backing data is restored afterward. This is used for debugging/testing/mocking.
@param temp_backing_data [Hash{String=>String}]