Feature #15829
Updated by nobu (Nobuyoshi Nakada) over 5 years ago
I'd like to propose some sugar to Object#then There should be `Object#then_if(condition, &block)` 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` Object#then with Rails to extend queries like this: ```ruby ``` foo.then {|query| if(condition) query.where(zip:zap) else query end } ``` by using the proposed `Object#then_if` Object#then_if the example could be simplified to: ```ruby ``` 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.