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