Sha256: fb78bcab95fa54d21654f106b5a6ba5beb5b0ac2e5635dcc953e54f3a0cc827a

Contents?: true

Size: 713 Bytes

Versions: 47

Compression:

Stored size: 713 Bytes

Contents

unless [1,2].uniq{}.size == 1
  require 'backports/tools/alias_method_chain'

  class Array
    def uniq_with_block
      return uniq_without_block unless block_given?
      h = {}
      each do |elem|
        key = yield(elem)
        h[key] = elem unless h.has_key?(key)
      end
      h.values
    end
    Backports.alias_method_chain self, :uniq, :block
  end
end

unless [1,2].uniq!{}
  require 'backports/tools/alias_method_chain'

  class Array
    def uniq_with_block!
      replace self if frozen? # force error
      return uniq_without_block! unless block_given?
      u = uniq{|e| yield e}
      replace u unless u.size == size
    end
    Backports.alias_method_chain self, :uniq!, :block
  end
end

Version data entries

47 entries across 47 versions & 4 rubygems

Version Path
backports-3.25.0 lib/backports/1.9.2/array/uniq.rb
backports-3.24.1 lib/backports/1.9.2/array/uniq.rb
backports-3.24.0 lib/backports/1.9.2/array/uniq.rb
backports-3.23.0 lib/backports/1.9.2/array/uniq.rb
backports-3.22.1 lib/backports/1.9.2/array/uniq.rb
backports-3.22.0 lib/backports/1.9.2/array/uniq.rb
backports-3.21.0 lib/backports/1.9.2/array/uniq.rb
backports-3.20.2 lib/backports/1.9.2/array/uniq.rb
backports-3.20.1 lib/backports/1.9.2/array/uniq.rb
backports-3.20.0 lib/backports/1.9.2/array/uniq.rb
backports-3.19.0 lib/backports/1.9.2/array/uniq.rb
backports-3.18.2 lib/backports/1.9.2/array/uniq.rb
backports-3.18.1 lib/backports/1.9.2/array/uniq.rb
backports-3.18.0 lib/backports/1.9.2/array/uniq.rb
files.com-1.0.55 docs/vendor/bundle/ruby/2.5.0/gems/backports-3.12.0/lib/backports/1.9.2/array/uniq.rb
backports-3.17.2 lib/backports/1.9.2/array/uniq.rb
backports-3.17.1 lib/backports/1.9.2/array/uniq.rb
backports-3.17.0 lib/backports/1.9.2/array/uniq.rb
backports-3.16.1 lib/backports/1.9.2/array/uniq.rb
backports-3.16.0 lib/backports/1.9.2/array/uniq.rb