module Hash::DeepFreezable
Public Instance Methods
deep_freeze()
click to toggle source
# File lib/hash_ext/deep_freezable.rb, line 4 def deep_freeze each_value { |v| deep_freeze_value v } freeze end
Private Instance Methods
deep_freeze_value(value)
click to toggle source
# File lib/hash_ext/deep_freezable.rb, line 9 def deep_freeze_value(value) if value.respond_to? :deep_freeze value.deep_freeze else if value.is_a? Hash value.each_value { |v| deep_freeze_value v } elsif value.respond_to? :each value.each { |v| deep_freeze_value v } end value.freeze end end