Class: Utils::ProbeClient::EnvProxy
Overview
A proxy class for managing environment variables through a probe server communication channel.
This class provides a wrapper around the ENV object that allows setting and retrieving environment variables while logging these operations through the probe server. It intercepts assignments and lookups to provide visibility into environment modifications during probe server operations.
Instance Attribute Summary collapse
-
#env ⇒ Object
readonly
Returns the value of attribute env.
Instance Method Summary collapse
-
#[](key) ⇒ String
The [] method retrieves the value of an environment variable from the probe server.
-
#[]=(key, value) ⇒ String
The []= method sets an environment variable value through the probe server.
-
#initialize(server) ⇒ EnvProxy
constructor
The initialize method sets up a new instance with the provided server object.
Constructor Details
#initialize(server) ⇒ EnvProxy
The initialize method sets up a new instance with the provided server object.
to the instance variable
153 154 155 |
# File 'lib/utils/probe_server.rb', line 153 def initialize(server) @server = server end |
Instance Attribute Details
#env ⇒ Object (readonly)
Returns the value of attribute env.
185 186 187 |
# File 'lib/utils/probe_server.rb', line 185 def env @env end |
Instance Method Details
#[](key) ⇒ String
The [] method retrieves the value of an environment variable from the probe server.
This method sends a request to the probe server to fetch the current value of the specified environment variable key and returns the corresponding value.
180 181 182 183 |
# File 'lib/utils/probe_server.rb', line 180 def [](key) response = @server.transmit_with_response(type: 'get_env', key:) response.env end |
#[]=(key, value) ⇒ String
The []= method sets an environment variable value through the probe server.
This method transmits a request to the probe server to set the specified environment variable key to the given value, then returns the updated environment value from the server’s response.
167 168 169 170 |
# File 'lib/utils/probe_server.rb', line 167 def []=(key, value) response = @server.transmit_with_response(type: 'set_env', key:, value:) response.env end |