Module: FakeEnv
- Defined in:
- lib/fake_env.rb,
lib/fake_env/version.rb
Constant Summary collapse
- VERSION =
'1.0.0'
Class Attribute Summary collapse
-
.actual ⇒ Object
readonly
Returns the value of attribute actual.
-
.actual_get_method ⇒ Object
readonly
Returns the value of attribute actual_get_method.
-
.actual_set_method ⇒ Object
readonly
Returns the value of attribute actual_set_method.
-
.fake ⇒ Object
readonly
Returns the value of attribute fake.
Class Method Summary collapse
Class Attribute Details
.actual ⇒ Object (readonly)
Returns the value of attribute actual.
6 7 8 |
# File 'lib/fake_env.rb', line 6 def actual @actual end |
.actual_get_method ⇒ Object (readonly)
Returns the value of attribute actual_get_method.
6 7 8 |
# File 'lib/fake_env.rb', line 6 def actual_get_method @actual_get_method end |
.actual_set_method ⇒ Object (readonly)
Returns the value of attribute actual_set_method.
6 7 8 |
# File 'lib/fake_env.rb', line 6 def actual_set_method @actual_set_method end |
.fake ⇒ Object (readonly)
Returns the value of attribute fake.
6 7 8 |
# File 'lib/fake_env.rb', line 6 def fake @fake end |
Class Method Details
.activate! ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/fake_env.rb', line 8 def activate! @actual = ENV.clone @fake = Hash.new do |fake, key| val = @actual[key] fake[key] = val ? val : val.clone end @actual_get_method ||= ENV.method(:[]) @actual_set_method ||= ENV.method(:[]=) class << ENV def [](key) FakeEnv.fake[key] end def []=(key, val) FakeEnv.fake[key] = val.freeze end end end |
.deactivate! ⇒ Object
30 31 32 33 34 35 |
# File 'lib/fake_env.rb', line 30 def deactivate! class << ENV define_method(:[], FakeEnv.actual_get_method) define_method(:[]=, FakeEnv.actual_set_method) end end |
.within ⇒ Object
37 38 39 40 41 42 |
# File 'lib/fake_env.rb', line 37 def within activate! yield if block_given? ensure deactivate! end |