I have a site in rails and want to have site-wide settings. One part of my app can notify the admin by SMS if a specific event happens. This is an example of a feature that I want configurable via the site-wide settings.
So I was thinking I should have a Setting model or something. It needs to be a model because I want to be able to has_many :contacts for the SMS notification.
The problem is that there can only be one post in the database for the settings model. So I was thinking of using a Singleton model but that only prevents new object to be created right?
Would I still need to create getter and setter methods for each attribute like so:
def self.attribute=(param)
Model.first.attribute = param
end
def self.attribute
Model.first.attribute
end
Is it perhaps not best-practice to use Model.attribute directly but always create an instance of it and use that?
What should I do here?