vyorkin/synchronisable

View on GitHub
lib/core_ext/hash/keys.rb

Summary

Maintainability
A
0 mins
Test Coverage
class Hash
  def transform_keys
    return enum_for(:transform_keys) unless block_given?
    result = self.class.new
    each_key do |key|
      result[yield(key)] = self[key]
    end
    result
  end

  def transform_keys!
    return enum_for(:transform_keys!) unless block_given?
    keys.each do |key|
      self[yield(key)] = delete(key)
    end
    self
  end
end