В настоящее время у меня есть код, который повторяется снова и снова, и это выглядит довольно ужасно.Какой лучший способ использовать метапрограммирование Руби для очистки этого?
Повторяющаяся тема, которая у меня есть, выглядит примерно так:
class Object
def some_logger
@some_logger ||= Logger.new("log/some.log")
end
def some2_logger
@some2_logger ||= Logger.new("log/some2.log")
end
end
В теории, я просто хочу иметь возможность вызыватьпроизвольный регистратор в моем приложении на Rails, и эти журналы помещаются в отдельный, легко идентифицируемый файл.Так что я могу наугад позвонить:
some3_logger.info("Wooohooo!")
в контроллере или модели без необходимости возвращаться к моему коду инициализации и создавать его там.