Sha256: b16494e95c49ac5201dded0e44aa4ab3a3dd94ff60acdd2bf521645fca5a4091

Contents?: true

Size: 350 Bytes

Versions: 269

Compression:

Stored size: 350 Bytes

Contents

class Array
  # Returns an unique array based on the criteria given as a +Proc+.
  #
  #   [1, 2, 3, 4].uniq_by { |i| i.odd? } # => [1, 2]
  #
  def uniq_by
    hash, array = {}, []
    each { |i| hash[yield(i)] ||= (array << i) }
    array
  end

  # Same as uniq_by, but modifies self.
  def uniq_by!
    replace(uniq_by{ |i| yield(i) })
  end
end

Version data entries

269 entries across 225 versions & 25 rubygems

Version Path
mdg-1.0.1 vendor/bundle/ruby/2.3.0/gems/activesupport-3.2.22.5/lib/active_support/core_ext/array/uniq_by.rb
activesupport-3.2.22.5 lib/active_support/core_ext/array/uniq_by.rb
activesupport-3.2.22.4 lib/active_support/core_ext/array/uniq_by.rb
activesupport-3.2.22.3 lib/active_support/core_ext/array/uniq_by.rb
activesupport-3.2.22.2 lib/active_support/core_ext/array/uniq_by.rb
activesupport-3.2.22.1 lib/active_support/core_ext/array/uniq_by.rb
classiccms-0.7.5 vendor/bundle/gems/activesupport-3.2.3/lib/active_support/core_ext/array/uniq_by.rb
classiccms-0.7.4 vendor/bundle/gems/activesupport-3.2.3/lib/active_support/core_ext/array/uniq_by.rb
classiccms-0.7.3 vendor/bundle/gems/activesupport-3.2.3/lib/active_support/core_ext/array/uniq_by.rb
active_mailer-0.0.10 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.12/lib/active_support/core_ext/array/uniq_by.rb
activesupport-3.2.22 lib/active_support/core_ext/array/uniq_by.rb
judge-2.0.5 vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.12/lib/active_support/core_ext/array/uniq_by.rb
activesupport-3.2.21 lib/active_support/core_ext/array/uniq_by.rb
apl-library-0.0.90 vendor/bundle/ruby/2.1.0/gems/apl-library-0.0.90/vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.18/lib/active_support/core_ext/array/uniq_by.rb
apl-library-0.0.90 vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.18/lib/active_support/core_ext/array/uniq_by.rb
apl-library-0.0.90 vendor/bundle/ruby/2.1.0/gems/activesupport-3.2.18/lib/active_support/core_ext/array/uniq_by.rb
apl-library-0.0.90 vendor/bundle/ruby/1.8/gems/activesupport-3.2.18/lib/active_support/core_ext/array/uniq_by.rb
apl-library-0.0.90 vendor/bundle/ruby/2.1.0/gems/apl-library-0.0.90/vendor/bundle/ruby/1.8/gems/activesupport-3.2.18/lib/active_support/core_ext/array/uniq_by.rb
apl-library-0.0.90 vendor/bundle/ruby/2.1.0/gems/apl-library-0.0.90/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.18/lib/active_support/core_ext/array/uniq_by.rb
activesupport-3.2.20 lib/active_support/core_ext/array/uniq_by.rb