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?

questionAnswers(12)

yourAnswerToTheQuestion