Sha256: f561aeeef485a054eb821a74ea900194d0526272308adb8d1bc1deb322534440
Contents?: true
Size: 530 Bytes
Versions: 13
Compression:
Stored size: 530 Bytes
Contents
class Hash # Apply a block to hash, and recursively apply that block # to each subhash. # # h = {:a=>1, :b=>{:b1=>1, :b2=>2}} # h.recursively{|h| h.rekey(&:to_s) } # => {"a"=>1, "b"=>{"b1"=>1, "b2"=>2}} # def recursively(&block) h = inject({}) do |hash, (key, value)| if value.is_a?(Hash) hash[key] = value.recursively(&block) else hash[key] = value end hash end yield h end # def recursively!(&block) replace(recursively(&block)) end end
Version data entries
13 entries across 13 versions & 2 rubygems