<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,7 @@
 *2.3.0/3.0*
 
+* Added Enumerable#none? to check that none of the elements match the block #1408 [Damian Janowski]
+
 * TimeZone offset tests: use current_period, to ensure TimeZone#utc_offset is up-to-date [Geoff Buesing]
 
 * Update bundled TZInfo to 0.3.12 [Geoff Buesing]</diff>
      <filename>activesupport/CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -104,4 +104,13 @@ module Enumerable
     size = block_given? ? select(&amp;block).size : self.size
     size &gt; 1
   end
+
+  # Returns true if none of the elements match the given block.
+  # 
+  #   success = responses.none? {|r| r.status / 100 == 3 }
+  #
+  def none?(&amp;block)
+    return true if !block_given? || blank?
+    !any?(&amp;block)
+  end
 end</diff>
      <filename>activesupport/lib/active_support/core_ext/enumerable.rb</filename>
    </modified>
    <modified>
      <diff>@@ -79,4 +79,14 @@ class EnumerableTests &lt; Test::Unit::TestCase
     assert ![ 1, 2 ].many? {|x| x &gt; 1 }
     assert [ 1, 2, 2 ].many? {|x| x &gt; 1 }
   end
+
+  def test_none
+    assert [].none?
+    assert [ 1 ].none?
+
+    assert [].none? {|x| x &gt; 1 }
+    assert ![ 2 ].none? {|x| x &gt; 1 }
+    assert ![ 1, 2 ].none? {|x| x &gt; 1 }
+    assert [ 1, 1 ].none? {|x| x &gt; 1 }
+  end
 end</diff>
      <filename>activesupport/test/core_ext/enumerable_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>917428bcce7bb22241bfc07daa5d0ddf9d107775</id>
    </parent>
  </parents>
  <author>
    <name>Damian Janowski</name>
    <login>djanowski</login>
    <email>damian.janowski@gmail.com</email>
  </author>
  <url>http://github.com/rails/rails/commit/f451f0e5cfa358e88ac9d03d813a9c84facd6648</url>
  <id>f451f0e5cfa358e88ac9d03d813a9c84facd6648</id>
  <committed-date>2008-11-19T01:48:41-08:00</committed-date>
  <authored-date>2008-11-18T12:53:06-08:00</authored-date>
  <message>Added Enumerable#none? to check that none of the elements match the block [#1408 state:committed]

Signed-off-by: David Heinemeier Hansson &lt;david@loudthinking.com&gt;</message>
  <tree>1b5f2831b934d92f21a8f5ab16ed536ee5e90dc8</tree>
  <committer>
    <name>David Heinemeier Hansson</name>
    <login>dhh</login>
    <email>david@loudthinking.com</email>
  </committer>
</commit>
