class WillPaginate::Deprecation::Hash

def []=(key, value)

def []=(key, value)
  check_deprecated(key, value)
  super
end

def check_deprecated(key, value)

def check_deprecated(key, value)
  if msg = @deprecated[key] and (!msg.respond_to?(:call) or (msg = msg.call(key, value)))
    WillPaginate::Deprecation.warn(msg)
  end
end

def deprecate_key(*keys, &block)

def deprecate_key(*keys, &block)
  message = block_given? ? block : keys.pop
  Array(keys).each { |key| @deprecated[key] = message }
end

def initialize(values = {})

def initialize(values = {})
  super()
  update values
  @deprecated = {}
end

def merge(another)

def merge(another)
  to_hash.update(another)
end

def to_hash

def to_hash
  ::Hash.new.update(self)
end