class Struct
Add fully_freeze
support to the struct class.
Public Instance Methods
fully_freeze(progress={})
click to toggle source
Do fully_freeze
the struct.
# File lib/fully_freeze/struct.rb, line 7 def fully_freeze(progress={}) progress[object_id] = freeze members.each do |name| value = self[name] value.fully_freeze(progress) unless progress[value.object_id] end self end
fully_frozen?(progress={})
click to toggle source
Is this struct fully_frozen?
# File lib/fully_freeze/struct.rb, line 19 def fully_frozen?(progress={}) return false unless frozen? progress[object_id] = self members.each do |name| value = self[name] return false unless progress[value.object_id] || value.fully_frozen?(progress) end true end