Sha256: c419a5c2e5e9076537f2216dbb73296ae2ccf0fb92c5a1635c8304d8ae03581a

Contents?: true

Size: 449 Bytes

Versions: 1

Compression:

Stored size: 449 Bytes

Contents

class Hash

  def merge_to_max(key, value)
    return false unless value.is_a?(Numeric)
    self[key] = 0 unless self.has_key?(key)
    return false unless self[key].is_a?(Numeric)
    return false unless self[key] < value
    self[key] = value
    true
  end

  def merge_to_max!(hash)
    raise ArgumentError unless hash.is_a?(Hash)
    hash.each do |key, value|
      self[key] = value unless (self[key] || 0) > value
    end
    self
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
redisrank-0.1.0 lib/redisrank/core_ext/hash.rb