module Mongoid::Settings::ClassMethods
Public Instance Methods
[](name)
click to toggle source
# File lib/mongoid-settings.rb, line 14 def [](name) storage[name].presence || defaults[name] end
[]=(name, value)
click to toggle source
# File lib/mongoid-settings.rb, line 18 def []= (name, value) storage.update_attribute(name, value) if defaults.include?(name) end
reload!()
click to toggle source
# File lib/mongoid-settings.rb, line 22 def reload! @storage = load_storage end
Private Instance Methods
defaults()
click to toggle source
# File lib/mongoid-settings.rb, line 37 def defaults @defaults ||= {} end
load_storage()
click to toggle source
# File lib/mongoid-settings.rb, line 45 def load_storage Storage.first_or_create end
setting(name, options = {})
click to toggle source
# File lib/mongoid-settings.rb, line 28 def setting(name, options = {}) Storage.class_eval do field(name, options) end defaults[name] = options[:default] define_singleton_method(name) { self[name] } define_singleton_method("#{name}=") { |value| self[name] = value } end
storage()
click to toggle source
# File lib/mongoid-settings.rb, line 41 def storage @storage ||= load_storage end