class Hash

from Facets via Hashery

Public Instance Methods

rekey(*args, &block) click to toggle source
# File lib/helpers/hash_helpers.rb, line 25
def rekey(*args, &block)
   dup.rekey!(*args, &block)
 end
rekey!(*args, &block) click to toggle source
# File lib/helpers/hash_helpers.rb, line 8
def rekey!(*args, &block)
  # for backward comptability (TODO: DEPRECATE).
  block = args.pop.to_sym.to_proc if args.size == 1
  if args.empty?
    block = lambda{|k| k.to_sym} unless block
    keys.each do |k|
      nk = block[k]
      self[nk]=delete(k) if nk
    end
  else
    raise ArgumentError, "3 for 2" if block
    to, from = *args
    self[to] = self.delete(from) if self.has_key?(from)
  end
  self
end