Also agree with Matt Wean and Miles on this one. On Monday, May 15, 2017 at 3:33:26 PM UTC-7, Miles Georgi wrote: > > Agreed :+1: > > > <https://lh3.googleusercontent.com/-lrgf7eUoHaM/WRorOGMkSjI/AAAAAAAAyjo/y6s8-u8i_1cXiSlAaaJzd1uzBUtrgUZBgCLcB/s1600/thumbs.jpg> > > > On Monday, May 15, 2017 at 10:18:07 PM UTC, Matt Wean wrote: >> >> I just ran into this issue, and I would actually call it a bug since it >> causes very unexpected behavior: >> >> > User.count { |user| user.not_a_method! } >> => 10 >> >> So the block isn't even being evaluated. I'm fine if we don't delegate to >> Enumerable, but I would expect #count to at least raise an error if a >> block is given so people don't accidentally try to count with a predicate >> and get the wrong answer. >> >> On Friday, February 1, 2013 at 10:12:36 AM UTC-8, Matt Jones wrote: >>> >>> >>> On Jan 31, 2013, at 1:35 PM, Christian Romney wrote: >>> >>> > Hi all, >>> > >>> > I realize this behavior is by design, and in some respects the right >>> thing to do. It also pre-dates the addition of Enumerable#count. I'm >>> wondering, however, if it's possible/desirable to allow the caller to >>> access the Enumerable versions under certain conditions. I originally wrote >>> the up as an issue, but was informed this would be the better venue. I'm >>> linking to the original issue on Github because the syntax highlighting is >>> nice. >>> > >>> > https://github.com/rails/rails/issues/9132 >>> >>> In the example in the issue, wouldn't this work nearly as well: >>> >>> def incomplete_submissions >>> submissions.to_a.count(&:incomplete?) >>> end >>> >>> In short, if you want the Enumerable behavior, just ask for it... >>> >>> --Matt Jones >>> >>>
-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-core+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-core@googlegroups.com. Visit this group at https://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.