Method: SiteSetting.load_settings

Defined in:
lib/sitesetting.rb

.load_settingsObject

小説サイトの定義ファイルを全部読み込む

スクリプト同梱の設定ファイルを読み込んだあと、ユーザの小説の管理ディレクトリ内にあるwebnovel ディレクトリからも定義ファイルを読み込む



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/sitesetting.rb', line 22

def load_settings
  result = {}
  load_paths = [
    Narou.script_dir.join(NOVEL_SITE_SETTING_DIR, "*.yaml"),
    Narou.root_dir.join(NOVEL_SITE_SETTING_DIR, "*.yaml")
  ].uniq.join("\0")
  Dir.glob(load_paths) do |path|
    setting = SiteSetting.load_file(path)
    name = setting["name"]
    @narou ||= setting if name == "小説家になろう"
    origin = result[name]
    origin&.merge(setting)
    result[name] ||= setting
  end
  if result.empty?
    error "小説サイトの定義ファイルがひとつもありません"
    exit Narou::EXIT_ERROR_CODE
  end
  unless @narou
    error "小説家になろうの定義ファイルが見つかりませんでした"
    exit Narou::EXIT_ERROR_CODE
  end
  result
end