How do you feel about an enhancement to Rails’ delegate method that enables us to define an arbitrary value which is bound to be returned whenever the delegation target is nil ?
I’ve came across an use case on which I was required to do so. What I did was include the on_nil: option to delegate. I can use this new option the value that should be returned. The value can be either a literal or a Proc. When on_nil is not supplied the current behavior is followed (i.e. nil is returned). Here is an example:
class User < ActiveRecord::Base
delegate :age, to: :profile, allow_nil: true, on_nil: 21
User.new.age # 21
Do you guys think this would be an useful enhancement to Rails’ core ?