Class: ActiverecordSettings::Setting
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- ActiverecordSettings::Setting
- Defined in:
- lib/activerecord_settings.rb
Class Method Summary collapse
Class Method Details
.destroy(key) ⇒ Object
38 39 40 |
# File 'lib/activerecord_settings.rb', line 38 def self.destroy(key) find_by_key(key).try(:destroy) end |
.get(key) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/activerecord_settings.rb', line 12 def self.get(key) setting = find_by_key(key) return nil unless setting if setting.expires && setting.expires < Time.now destroy(key) return nil end YAML.load(setting.value) end |
.set(key, value, expires: nil) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/activerecord_settings.rb', line 24 def self.set(key, value, expires: nil) destroy(key) if value.nil? setting = { value: YAML.dump(value), expires: expires } existing = find_by_key(key) if existing existing.update_attributes(setting) else create({ key: key }.merge(setting)) end end |