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.

Reply via email to