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.