#tap without a block returning self makes sense

-- 
Fuad Saud
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)


On Wednesday, September 11, 2013 at 1:54 PM, prijutme4ty (Ilya Vorontsov) wrote:

> 
> Issue #8896 has been updated by prijutme4ty (Ilya Vorontsov).
> 
> 
> > I would like to see tap return an Enumerator if a block is not passed.
> Can you explain your suggestion a bit more? I can't imagine realization and use-case yet.
> ----------------------------------------
> Feature #8896: #tap with missing block
> https://bugs.ruby-lang.org/issues/8896#change-41756
> 
> Author: prijutme4ty (Ilya Vorontsov)
> Status: Open
> Priority: Normal
> Assignee: 
> Category: 
> Target version: 
> 
> 
> In case when no block provided to tap, it fails. So if you want method which can be called with or without block - you can't do it like this:
> 
> def self.create(args={}, &block)
> new.set_attributes(args).tap(&block)
> end
> 
> but should use block_defined? to prevent #tap's failure.
> 
> I suggest to make tap with no block given just to return self and raise no errors.
> 
> 
> 
> -- 
> http://bugs.ruby-lang.org/
> 
>