module Mongoid::AppSettings::ClassMethods
Public Instance Methods
all()
click to toggle source
# File lib/mongoid-app_settings.rb, line 62 def all {}.tap do |result| settings.each do |setting, options| result[setting.to_sym] = self.send(setting) end end end
defaults()
click to toggle source
# File lib/mongoid-app_settings.rb, line 70 def defaults {}.tap do |result| settings.each do |setting, options| result[setting.to_sym] = options[:default] end end end
delete(setting)
click to toggle source
Unsets a set value, resetting it to its default
# File lib/mongoid-app_settings.rb, line 58 def delete(setting) @record.unset(setting) end
reload()
click to toggle source
Force a reload from the database
# File lib/mongoid-app_settings.rb, line 52 def reload @record = nil self end
setting(name, options = {})
click to toggle source
Defines a setting. Options can include:
-
default – Specify a default value
Example usage:
class MySettings include Mongoid::AppSettings setting :organization_name, :default => "demo" end
# File lib/mongoid-app_settings.rb, line 33 def setting(name, options = {}) settings[name.to_s] = options Record.instance_eval do field name, options.slice(:type) end @base.class.class_eval do define_method(name.to_s) do @base[name.to_s] end define_method(name.to_s + "=") do |value| @base[name.to_s] = value end end end