Como implementar um modelo singleton
Eu tenho um site em trilhos e quero ter configurações em todo o site. Uma parte do meu aplicativo pode notificar o administrador por SMS se um evento específico acontecer. Este é um exemplo de um recurso que desejo configurável por meio das configurações em todo o site.
Então, eu estava pensando que deveria ter um modelo de configuração ou algo assim. Ele precisa ser um modelo, porque eu quero poder has_many: contatos para a notificação por SMS.
O problema é que só pode haver uma postagem no banco de dados para o modelo de configurações. Então, eu estava pensando em usar um modelo Singleton, mas isso apenas impede que um novo objeto seja criado, certo?
Ainda precisaria criar métodos getter e setter para cada atributo da seguinte forma:
def self.attribute=(param)
Model.first.attribute = param
end
def self.attribute
Model.first.attribute
end
Talvez não seja uma prática recomendada usar Model.attribute diretamente, mas sempre crie uma instância dele e use isso?
O que devo fazer aqui?