app/models/setting.rb in fat_free_crm-0.19.2 vs app/models/setting.rb in fat_free_crm-0.20.0
- old
+ new
@@ -24,10 +24,11 @@
#
# Any configured settings in `config/settings.yml` will override those in
# `config/settings.default.yml`, and settings in the database table have the highest priority.
class Setting < ActiveRecord::Base
+ validates :name, presence: true, allow_blank: false
serialize :value
# Use class variables for cache and yaml settings.
cattr_accessor :cache, :yaml_settings
@@cache = @@yaml_settings = {}.with_indifferent_access
@@ -67,12 +68,13 @@
end
# Set setting value
#-------------------------------------------------------------------
def []=(name, value)
- return nil unless database_and_table_exists?
+ raise ArgumentError, "name cannot be blank" if name.blank?
- setting = find_by_name(name.to_s) || new(name: name)
+ return nil unless database_and_table_exists?
+ setting = find_by_name(name.to_s) || new(name: name.to_s)
setting.value = value
setting.save
cache[name] = value
end