From: "prijutme4ty (Ilya Vorontsov)" Date: 2013-09-12T01:54:17+09:00 Subject: [ruby-core:57142] [CommonRuby - Feature #8896] #tap with missing block 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/