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