|
|
@@ -91,10 +91,7 @@ class Setting < ActiveRecord::Base |
|
|
|
def value |
|
|
|
v = read_attribute(:value) |
|
|
|
# Unserialize serialized settings |
|
|
|
if available_settings[name]['serialized'] && v.is_a?(String) |
|
|
|
v = YAML::load(v) |
|
|
|
force_utf8_strings(v) |
|
|
|
end |
|
|
|
v = YAML::load(v) if available_settings[name]['serialized'] && v.is_a?(String) |
|
|
|
v = v.to_sym if available_settings[name]['format'] == 'symbol' && !v.blank? |
|
|
|
v |
|
|
|
end |
|
|
@@ -241,23 +238,6 @@ END_SRC |
|
|
|
load_plugin_settings |
|
|
|
|
|
|
|
private |
|
|
|
|
|
|
|
def force_utf8_strings(arg) |
|
|
|
if arg.is_a?(String) |
|
|
|
arg.force_encoding('UTF-8') |
|
|
|
elsif arg.is_a?(Array) |
|
|
|
arg.each do |a| |
|
|
|
force_utf8_strings(a) |
|
|
|
end |
|
|
|
elsif arg.is_a?(Hash) |
|
|
|
arg.each do |k,v| |
|
|
|
force_utf8_strings(k) |
|
|
|
force_utf8_strings(v) |
|
|
|
end |
|
|
|
end |
|
|
|
arg |
|
|
|
end |
|
|
|
|
|
|
|
# Returns the Setting instance for the setting named name |
|
|
|
# (record found in database or new record with default value) |
|
|
|
def self.find_or_default(name) |