Implements cached database stored settings for rails. Settings are typed. You can't set a boolean setting to an integer.
Add to your Gemfile:
gem "rails_typed_settings"Generate migration:
$ rails g rails_typed_settings:installMigrate your database:
$ rake db:migrateAdd a app/services/settings.rb file with contents:
class Settings < RailsTypedSettings::Base
setting :sale, :boolean, :default => false
setting :sale_discount, :float, :default => 0.3
setting :sale_name, :string
endReading a setting:
Settings[:sale]Writing a setting:
Settings[:sale] = trueGet list of all settings
Settings.keys # [:sale, :sale_discount...]Because of the way its built you cannot store nil/null as settings values
This project rocks and uses MIT-LICENSE.