lib/backports/1.9.1/hash.rb in backports-3.0.3 vs lib/backports/1.9.1/hash.rb in backports-3.1.0

- old
+ new

@@ -1,36 +1,3 @@ -class Hash - # Standard in Ruby 1.8.8. See official documentation[http://ruby-doc.org/core-1.9/classes/Hash.html] - class << self - def try_convert(x) - Backports.try_convert(x, Hash, :to_hash) - end unless method_defined? :try_convert - end +require 'backports/tools' - # Standard in Ruby 1.9. See official documentation[http://ruby-doc.org/core-1.9/classes/Hash.html] - def default_proc=(proc) - if proc == nil # nil accepted in Ruby 2.0 - self.default = nil - self - else - replace(Hash.new(&Backports.coerce_to(proc, Proc, :to_proc)).merge!(self)) - end - end unless method_defined? :default_proc= - - # Standard in Ruby 1.9. See official documentation[http://ruby-doc.org/core-1.9/classes/Hash.html] - def assoc(key) - val = fetch(key) do - return find do |k, v| - [k, v] if k == key - end - end - [key, val] - end unless method_defined? :assoc - - - # Standard in Ruby 1.9. See official documentation[http://ruby-doc.org/core-1.9/classes/Hash.html] - def rassoc(value) - k = key(value) - v = fetch(k){return nil} - [k, fetch(k)] if k || v == value - end unless method_defined? :rassoc -end +Backports.require_relative_dir