Sha256: f71b101eb62f26f33a23faafb5427c68f06d249c52718d5d9ea960e779315c7b
Contents?: true
Size: 1.38 KB
Versions: 2
Compression:
Stored size: 1.38 KB
Contents
# -*- coding: utf-8 -*- # # Copyright 2013 whiteleaf. All rights reserved. # require "yaml" require "singleton" # # ユーザープロファイルに保存するのでいつでも反映される設定 # class GlobalSetting include Singleton def self.get instance end def initialize @global_settings = load_settings end def [](name) setting = @global_settings[name] unless setting setting = {} @global_settings[name] = setting end setting end def []=(name, setting) @global_settings[name] = setting end def save_settings(name = nil) if name save_list = { name => @global_settings[name] } else save_list = @global_settings end save_list.each do |sname, setting| path = File.join(Narou.get_global_setting_dir, sname + ".yaml") File.write(path, YAML.dump(setting)) end end # # .narou 以下に保存されている *.yaml の拡張子を取った部分をキーとして # 設定をハッシュとして取得する # def load_settings settings = {} global_setting_dir = Narou.get_global_setting_dir if global_setting_dir Dir.glob(File.join(global_setting_dir, "*.yaml")) do |path| name = File.basename(path, ".yaml") settings[name] = YAML.load_file(path) end end settings end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
narou-1.1.2.1 | lib/globalsetting.rb |
narou-1.1.2 | lib/globalsetting.rb |