Sha256: b0972023e2a24c84d4f04787728fd0ff3f91d87840a6123886bc5725f4991ef7

Contents?: true

Size: 675 Bytes

Versions: 18

Compression:

Stored size: 675 Bytes

Contents

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

  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'

  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

18 entries across 18 versions & 2 rubygems

Version Path
scout_realtime-1.0.5 lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
scout_realtime-1.0.4 lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
scout_realtime-1.0.3 lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
scout_realtime-1.0.3.pre lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
scout_realtime-1.0.2 lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
scout_realtime-1.0.1 lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
scout_realtime-1.0.0 lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
scout_realtime-0.5.5 lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
scout_realtime-0.5.5.pre lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
scout_realtime-0.5.4 lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
backports-3.6.0 lib/backports/1.9.2/array/uniq.rb
backports-3.5.0 lib/backports/1.9.2/array/uniq.rb
backports-3.4.1 lib/backports/1.9.2/array/uniq.rb
scout_realtime-0.5.3 lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
scout_realtime-0.5.2 lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
scout_realtime-0.5.1 lib/vendor/backports-3.3.5/lib/backports/1.9.2/array/uniq.rb
backports-3.4.0 lib/backports/1.9.2/array/uniq.rb
backports-3.3.5 lib/backports/1.9.2/array/uniq.rb