Class: IceAge
- Inherits:
-
Object
- Object
- IceAge
- Defined in:
- lib/ice_age.rb
Constant Summary collapse
- VERSION =
'0.1.0'
Class Method Summary collapse
Class Method Details
.endure! ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/ice_age.rb', line 24 def endure! changes = (Set.new(ENV.to_h) - Set.new(@env)).to_h.keys unless changes.empty? msg = changes.map {|k| { k => { @env[k] => ENV[k] } }}.to_s raise 'ENV changed after freeze: ' + msg end end |
.freeze ⇒ Object
8 9 10 11 12 |
# File 'lib/ice_age.rb', line 8 def freeze raise 'already frozen' if frozen? @env = ENV.to_h.freeze end |
.frozen? ⇒ Boolean
14 15 16 |
# File 'lib/ice_age.rb', line 14 def frozen? !!@env end |
.restore ⇒ Object
18 19 20 21 22 |
# File 'lib/ice_age.rb', line 18 def restore raise "#{self.class.name}.frozen never called!" unless frozen? ENV.clear.update(@env) end |