Я часто пишу код для предоставления значения по умолчанию при обнаружении значения nil / empty.
Например:
category = order.category || "Any"
# OR
category = order.category.empty? ? "Any" : order.category
Я собираюсь расширить метод try
для обработки этой идиомы.
category = order.try(:category, :on_nill => "Any")
# OR
category = order.try(:category, :on_empty=> "Any")
Мне интересно, есть ли в Rails / Ruby какой-либо метод для обработки этой идиомы?
Примечание:
Я пытаюсь исключить повторение || / or / ?
идиом, основанных на операторе.
По сути я ищу эквивалент try
метода для обработки сценариев замены по умолчанию.
Без try
метода:
product_id = user.orders.first.product_id unless user.orders.first.nil?
С try
методом:
product_id = user.orders.first.try(:product_id)
Легко реализовать общий подход для обработки этой идиомы, но я хочу убедиться, что я не изобретаю колесо заново.