Class: Setting
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Setting
- Defined in:
- app/models/setting.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.global(key, opts = {}) ⇒ Object
eg. Setting.global(“site-name”)
47 48 49 50 51 52 53 54 55 56 57 |
# File 'app/models/setting.rb', line 47 def self.global(key, opts = {}) autocreate = opts.delete(:autocreate) kind = opts.delete(:kind) || :string default = opts.delete(:default) group = opts.delete(:group) || "global" s = autocreate ? self.find_or_create_by_key_and_settable_id(key.to_s, nil, :kind => kind, :"#{kind}_value" => default, :group => group) : self.find_by_key_and_settable_id(key.to_s, nil) if s s.value || default end end |
.kinds ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 |
# File 'app/models/setting.rb', line 22 def self.kinds [ :string, :integer, :float, :boolean, :text, :datetime, :date, :file ] end |
.update_global(key, value) ⇒ Object
59 60 61 62 63 64 65 |
# File 'app/models/setting.rb', line 59 def self.update_global(key, value) s = self.find_by_key_and_settable_id(key.to_s, nil) if s s.update_attributes(:value => value) end end |
Instance Method Details
#value ⇒ Object
34 35 36 37 38 39 40 41 42 43 |
# File 'app/models/setting.rb', line 34 def value setting_kind = self.kind # this will break paperclip 'missing.png' feature, but at least # provides a way to check if an attachment is missing if setting_kind == "file" return nil if !file_value? end self.send("#{setting_kind}_value") end |