From: foonlyboy@... Date: 2019-05-05T18:26:18+00:00 Subject: [ruby-core:92559] [Ruby trunk Feature#15829] Object#then_if(condition){} Issue #15829 has been reported by foonlyboy (Eike Dierks). ---------------------------------------- Feature #15829: Object#then_if(condition){} https://bugs.ruby-lang.org/issues/15829 * Author: foonlyboy (Eike Dierks) * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- I'd like to propose some sugar to Object#then There should be Object#then_if(condition, &block) The block should only be applied when the condition is true, otherwise the object should be returned without applying the block. Rationale: I frequently use Object#then with Rails to extend queries like this: ``` foo.then {|query| if(condition) query.where(zip:zap) else query end } ``` by using the proposed Object#then_if the example could be simplified to: ``` foo.then_if(condition) {|query| query.where(zip:zap) } ``` I believe that this also applies to a lot of other use cases, i.e. only applying some transformation if some condition is true, but otherwise leaving the result untouched. -- https://bugs.ruby-lang.org/ Unsubscribe: