DRY up Ruby ternary

У меня часто бывает ситуация, когда я хочу выполнить некоторую условную логику, а затем вернуть часть условия. Как я могу сделать это, не повторяя часть условия в истинном или ложном выражении?

Например:

ClassName.method.blank? ? false : ClassName.method

Есть ли способ избежать повторения ClassName.method ?

Вот реальный пример:

PROFESSIONAL_ROLES.key(self.professional_role).nil? ? 
    948460516 : PROFESSIONAL_ROLES.key(self.professional_role)
8
задан Reed G. Law 7 January 2011 в 22:25
поделиться