class Hash
Mixin for hash
Attributes
reference_names[RW]
Public Instance Methods
deep_key_sort!()
click to toggle source
# File lib/glot/hash.rb, line 14 def deep_key_sort! orig = dup clear orig.map { |k, v| process(k, v) }.sort.each do |k, v| self[k] = v end end
deep_traverse() { |key, value| ... }
click to toggle source
# File lib/glot/hash.rb, line 5 def deep_traverse stack = map { |k, v| [[k], v] } until stack.empty? key, value = stack.pop yield(key, value) value.each { |k, v| stack.push [key.dup << k, v] } if value.is_a? Hash end end
Private Instance Methods
process(key, value)
click to toggle source
# File lib/glot/hash.rb, line 27 def process(key, value) value.deep_key_sort! if value.is_a? Hash [key, value] end