También se podría hacer de esta manera, lo que evitaría notablemente leer el ivar dos veces y dejaría más claro que se inicializa de forma ansiosa (la lógica también podría estar en un método auxiliar initial_flag_settings para la organización, por supuesto):
class << self
attr_reader :flag_settings
end
@flag_settings = FlagSettings.new
@flag_settings.add(
3,
:off_topic,
notify_type: true,
auto_action_type: true,
)
# ...