2009-08-31 3 views
0

Часто я ловлю себя вставляя заявления протоколирования, как это в мой код:Rails лесозаготовительных лучшие практики

logger.info("orphaned_annotations: ".upcase + orphaned_annotations.to_s) 
logger.info("orphaned_anchors: ".upcase + orphaned_anchors.to_s) 

Похоже, что это было бы довольно распространенное использование случая - есть более простой способ получить такого рода функциональности?

ответ

2

Два общих варианта: 1. Создайте макрос в любом редакторе, используя его, когда при вводе журнала будет автоматически заполнено все до имени переменной, тогда имя переменной, которую вы вводите, может быть вставлять как строку, так и to_s и, конечно, автозаполнять остальные. Большинство достойных редакторов предоставят средства для создания таких макросов, пока вы можете понять синтаксис. 2. второй и, возможно, проще вариант просто определить глобальную вспомогательную функцию, как

def debug(name,var) 
    logger.info(name.upcase << var.to_s) 
end 

Я хотел выяснить способ, чтобы просто передать в переменной, а затем рубиновый Выяснить имя объекта, но Я не уверен, что есть простой способ сделать это (см. this question).

Лично я бы, наверное, сделал 1), поскольку вычисление макросов может сэкономить много времени, когда у вас есть набор операций, которые вы часто делаете.

Смежные вопросы