Class: LogicaCompiler::Deps::Env
- Inherits:
-
Object
- Object
- LogicaCompiler::Deps::Env
- Defined in:
- lib/logica_compiler/deps/env.rb
Constant Summary collapse
- MISSING =
:__missing__
Instance Method Summary collapse
- #[](key) ⇒ Object
- #delete(key) ⇒ Object
- #fetch(key, *args, &block) ⇒ Object
- #key?(key) ⇒ Boolean
- #set(key, value) ⇒ Object
- #with_temp(updates) ⇒ Object
Instance Method Details
#[](key) ⇒ Object
8 |
# File 'lib/logica_compiler/deps/env.rb', line 8 def [](key) = ENV[key] |
#delete(key) ⇒ Object
16 17 18 |
# File 'lib/logica_compiler/deps/env.rb', line 16 def delete(key) ENV.delete(key) end |
#fetch(key, *args, &block) ⇒ Object
9 |
# File 'lib/logica_compiler/deps/env.rb', line 9 def fetch(key, *args, &block) = ENV.fetch(key, *args, &block) |
#key?(key) ⇒ Boolean
10 |
# File 'lib/logica_compiler/deps/env.rb', line 10 def key?(key) = ENV.key?(key) |
#set(key, value) ⇒ Object
12 13 14 |
# File 'lib/logica_compiler/deps/env.rb', line 12 def set(key, value) ENV[key] = value end |
#with_temp(updates) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/logica_compiler/deps/env.rb', line 20 def with_temp(updates) previous = {} updates.each do |k, v| previous[k] = key?(k) ? ENV[k] : MISSING v.nil? ? delete(k) : set(k, v) end yield ensure previous.each do |k, v| v == MISSING ? delete(k) : set(k, v) end end |