module Riffer::Helpers::CallOrValue
Resolves the โProc-or-valueโ idiom: if thing is a Proc, calls it (passing context when its arity is non-zero); otherwise returns thing unchanged. When thing is nil, returns default.
Public Instance Methods
Source
# File lib/riffer/helpers/call_or_value.rb, line 11 def resolve(thing, context: nil, default: nil) return default if thing.nil? return thing unless thing.is_a?(Proc) thing.arity.zero? ? thing.call : thing.call(context) end
: (untyped, ?context: untyped, ?default: untyped) -> untyped