@ -21,7 +21,7 @@ module Settings
end
# rubocop:enable Style/MethodMissing
def respond_to ?( _method_name , _include_private = false )
def respond_to _missing?( * )
true
end
@ -29,7 +29,7 @@ module Settings
vars = thing_scoped
records = vars . map { | r | [ r . var , r ] } . to_h
Setting . send( : default_settings) . each do | key , default_value |
Setting . default_settings. each do | key , default_value |
next if records . key? ( key ) || default_value . is_a? ( Hash )
records [ key ] = Setting . new ( var : key , value : default_value )
end
@ -39,9 +39,8 @@ module Settings
def []= ( key , value )
key = key . to_s
record = thing_scoped . find_by ( var : key ) || thing_scoped . new ( var : key )
record . value = value
record . save!
record = thing_scoped . find_or_initialize_by ( var : key )
record . update! ( value : value )
Rails . cache . write ( Setting . cache_key ( key , @object ) , value )
value
@ -51,11 +50,11 @@ module Settings
Rails . cache . fetch ( Setting . cache_key ( key , @object ) ) do
db_val = thing_scoped . find_by ( var : key . to_s )
if db_val
default_value = Setting . send( : default_settings) [ key ]
default_value = Setting . default_settings[ key ]
return default_value . with_indifferent_access . merge! ( db_val . value ) if default_value . is_a? ( Hash )
db_val . value
else
Setting . send( : default_settings) [ key ]
Setting . default_settings[ key ]
end
end
end