Class: LocalSetting
Overview
管理小説のみに適用される設定
Class Method Summary collapse
Instance Method Summary collapse
- #[](name) ⇒ Object
- #[]=(name, setting) ⇒ Object
-
#initialize ⇒ LocalSetting
constructor
A new instance of LocalSetting.
-
#load_settings ⇒ Object
.narou 以下に保存されている *.yaml の拡張子を取った部分をキーとして 設定をハッシュとして取得する.
- #save_settings(name = nil) ⇒ Object
Constructor Details
#initialize ⇒ LocalSetting
Returns a new instance of LocalSetting.
19 20 21 |
# File 'lib/localsetting.rb', line 19 def initialize @local_settings = load_settings end |
Class Method Details
.get ⇒ Object
15 16 17 |
# File 'lib/localsetting.rb', line 15 def self.get instance end |
Instance Method Details
#[](name) ⇒ Object
23 24 25 26 27 28 29 30 |
# File 'lib/localsetting.rb', line 23 def [](name) setting = @local_settings[name] unless setting setting = {} @local_settings[name] = setting end setting end |
#[]=(name, setting) ⇒ Object
32 33 34 |
# File 'lib/localsetting.rb', line 32 def []=(name, setting) @local_settings[name] = setting end |
#load_settings ⇒ Object
.narou 以下に保存されている *.yaml の拡張子を取った部分をキーとして 設定をハッシュとして取得する
52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/localsetting.rb', line 52 def load_settings settings = {} local_setting_dir = Narou.get_local_setting_dir if local_setting_dir Dir.glob(File.join(local_setting_dir, "*.yaml")) do |path| name = File.basename(path, ".yaml") settings[name] = YAML.load_file(path) end end settings end |
#save_settings(name = nil) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/localsetting.rb', line 36 def save_settings(name = nil) if name save_list = { name => @local_settings[name] } else save_list = @local_settings end save_list.each do |sname, setting| path = File.join(Narou.get_local_setting_dir, sname + ".yaml") File.write(path, YAML.dump(setting)) end end |