unless Hash.method_defined? :< require 'backports/tools/arguments' class Hash def <(hash) hash = Backports.coerce_to_hash(hash) return false unless size < hash.size each do |k, v| v2 = hash.fetch(k){ return false } return false unless v2 == v end true end end end