diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2008-06-20 11:31:06 -0500 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2008-06-20 11:31:06 -0500 |
commit | 161ab28b7c0bd28828b6d18613a9de09d47023c6 (patch) | |
tree | e66809696a44b505b2f1e379f54adbbf67930300 /activesupport/lib/active_support | |
parent | 00ba4c0cf32f9417d47bd891eba97f2e04609520 (diff) | |
download | rails-161ab28b7c0bd28828b6d18613a9de09d47023c6.tar.gz rails-161ab28b7c0bd28828b6d18613a9de09d47023c6.tar.bz2 rails-161ab28b7c0bd28828b6d18613a9de09d47023c6.zip |
Added block-handling to Enumerable#many? (Damian Janowski) [#452 state:resolved]
Diffstat (limited to 'activesupport/lib/active_support')
-rw-r--r-- | activesupport/lib/active_support/core_ext/enumerable.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/core_ext/enumerable.rb b/activesupport/lib/active_support/core_ext/enumerable.rb index 9647797ec2..e451e9933a 100644 --- a/activesupport/lib/active_support/core_ext/enumerable.rb +++ b/activesupport/lib/active_support/core_ext/enumerable.rb @@ -79,7 +79,9 @@ module Enumerable end # Returns true if the collection has more than 1 element. Functionally equivalent to collection.size > 1. - def many? + # Works with a block too ala any?, so people.many? { |p| p.age > 26 } # => returns true if more than 1 person is over 26. + def many?(&block) + size = block_given? ? select(&block).size : self.size size > 1 end end |