evt-env_var 2.3.0.0 → 2.3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/env_var/env_var.rb +14 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3d0bdf401f27c657c212120f240fa987925956089c3476a90edefe103872b3ff
4
- data.tar.gz: dec499669e74accf72e58a273cfe43b0842a3cfc544b450b9563d1fe19e82e3c
3
+ metadata.gz: 4cfcaebc577496c29352e2a7d050f1c696617015d6b9c4d253d53d83c415dcf5
4
+ data.tar.gz: d531433f72941bc8925f37710c8b359f700f821853471ce99e50bbda73bf4477
5
5
  SHA512:
6
- metadata.gz: 9c0a0abef24619c00e994b1b6b70e613819f920b917e6d7fa195fcd0b4f475b9bf0798abf8d1946be320f4758f322402cbcd6ed95fee991c96780c1cf6a39de7
7
- data.tar.gz: cc15312093368d7e49af6e73a2b60eb4b63fcdb734b43f022eb84b5347622954e8137ed06aa347b0384497b765fc743ce5fd4cd9c63af86b9151e76eb242321f
6
+ metadata.gz: fcd2f75fd1efd24d89de4aa04ca8c86b2cd0bb24dc31c1e486adaf6202e428feaf074d66d62454f517ffe13196a46fdfabec029e56ddc67cf1e84afa9c42a3dd
7
+ data.tar.gz: 371b53168c1312b0de8be457d33d2b023e22206d1e43fd64eada67836dfd59c37672fa734899d2c423ae9a74029a99dbfe6caaaff8eafc428587abd0993e6e06
@@ -29,12 +29,24 @@ module EnvVar
29
29
  value
30
30
  end
31
31
 
32
- def self.unset(name)
32
+ def self.unset(name, &action)
33
33
  logger.trace { "Unsetting environment variable (Name: #{name.inspect})" }
34
34
  value = ENV.delete(name)
35
35
  logger.debug { "Unset environment variable (Name: #{name.inspect}, Value: #{value.inspect})" }
36
36
 
37
- value
37
+ return value if action.nil?
38
+
39
+ begin
40
+ action.call
41
+
42
+ value
43
+ ensure
44
+ if value.nil?
45
+ ENV.delete(name)
46
+ else
47
+ set(name, value)
48
+ end
49
+ end
38
50
  end
39
51
 
40
52
  def self.push(name_or_hash, value=nil, &action)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evt-env_var
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.3.0.0
4
+ version: 2.3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Eventide Project
@@ -66,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
66
  - !ruby/object:Gem::Version
67
67
  version: '0'
68
68
  requirements: []
69
- rubygems_version: 4.0.3
69
+ rubygems_version: 4.0.17
70
70
  specification_version: 4
71
71
  summary: Temporarily set environment variable values by treating the environment as
72
72
  a stack, and using blocks to control scope