Рубиновый лайнер для этого возможен? - PullRequest
0 голосов
/ 04 июня 2010

Есть ли вероятность, что 2-я и 3-я строки могут быть объединены в одну строчку и, как мы надеемся, сэкономят одну ценность?

def self.date_format
  record = find_by_key('strftime')
  record ? record.value : "%Y-%b-%d'
end

вышеупомянутая функция в модели Config пытается извлечь запись из базы данных по ключу и вернуть значение по умолчанию, если оно не найдено в базе данных.

Еще лучше, если можно написать в именованном объеме. Спасибо

Ответы [ 4 ]

4 голосов
/ 04 июня 2010

По запросу.

Никто еще не упомянул try , который идеально подходит для этой ситуации:

value = find_by_key('strftime').try(:value) || "%Y-%b-%d"

1 голос
/ 04 июня 2010

Вы можете использовать:

(find_by_key('strftime').value rescue nil) || "%Y-%b-%d"

хотя использование исключений не очень эффективно.

0 голосов
/ 04 июня 2010

Вам нужно вообще назначить переменную "значение"? Если нет ...

def self.date_format
  find_by_key('strftime') || "%Y-%b-%d"
end
0 голосов
/ 04 июня 2010

ли

value = find_by_key('strftime') || "%Y-%b-%d"

работаешь на тебя?

...