server/webstats.rb in bloopletech-webstats-0.5.0 vs server/webstats.rb in bloopletech-webstats-0.6.0
- old
+ new
@@ -58,10 +58,14 @@
self[i] = self[i].dup.formatted!
end
end
end
+ def symbolize_keys!
+ each_with_index { |v, i| self[i] = self[i].dup.symbolize_keys! if v.is_a? Hash }
+ end
+
def stringify_keys!
each_with_index { |v, i| self[i] = self[i].dup.stringify_keys! if v.is_a? Hash }
end
def to_json
@@ -78,10 +82,15 @@
self[k] = self[k].dup.formatted!
end
end
end
+ def symbolize_keys!
+ keys.each { |key| self[key.to_sym] = delete(key) }
+ each_pair { |k, v| self[k] = self[k].dup.symbolize_keys! if v.is_a? Hash }
+ end
+
def stringify_keys!
keys.each { |key| self[key.to_s] = delete(key) }
each_pair { |k, v| self[k] = self[k].dup.stringify_keys! if v.is_a? Hash }
end
@@ -123,10 +132,10 @@
WEBSTATS_PATH = File.expand_path("~/.webstats")
$settings = {}
if File.exists?(WEBSTATS_PATH)
- $settings = YAML.load(IO.read(WEBSTATS_PATH))
+ $settings = YAML.load(IO.read(WEBSTATS_PATH)).symbolize_keys!
else
$settings['webstats'] = { 'password' => nil }
DataProviders::DATA_SOURCES_CLASSES.each_pair { |k, v| $settings[k.to_s] = v.default_settings.stringify_keys! }
File.open(WEBSTATS_PATH, "w") { |f| YAML.dump($settings, f) }
end
\ No newline at end of file