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