Cómo implementar un modelo singleton

Tengo un sitio en rieles y quiero tener configuraciones para todo el sitio. Una parte de mi aplicación puede notificar al administrador por SMS si ocurre un evento específico. Este es un ejemplo de una función que quiero configurar a través de la configuración de todo el sitio.

Así que estaba pensando que debería tener un modelo de Configuración o algo así. Tiene que ser un modelo porque quiero poder has_many: contactos para la notificación por SMS.

El problema es que solo puede haber una publicación en la base de datos para el modelo de configuración. Entonces, estaba pensando en usar un modelo Singleton, pero eso solo impide que se cree un nuevo objeto, ¿verdad?

¿Todavía necesitaría crear métodos getter y setter para cada atributo de esta manera?

def self.attribute=(param)
  Model.first.attribute = param
end

def self.attribute
  Model.first.attribute
end

¿Acaso no es una práctica recomendada usar Model.attribute directamente pero siempre crear una instancia y usar eso?

¿Qué debo hacer aquí?

Respuestas a la pregunta(12)

Su respuesta a la pregunta