Честно говоря, я не уверен, что такая ленивая инициализация вообще имеет смысл здесь. У нас есть хук для плагинов, позволяющий заменить весь набор флагов, но он срабатывает до инициализатора.
@roman, есть ли какие-то возражения против eager-инициализации здесь? Думаю, самое простое решение — это:
class << self
def flag_settings
...
end
end
flag_settings
Мне кажется, главная причина этого — в том, что в Ruby нет чистого паттерна для инициализаторов класса, поэтому разработчиков подталкивают к тому, чтобы изобретать свои решения или использовать ленивую инициализацию.