lib/novelsetting.rb in narou-1.5.11 vs lib/novelsetting.rb in narou-1.6.0

- old
+ new

@@ -10,26 +10,27 @@ INI_NAME = "setting.ini" REPLACE_NAME = "replace.txt" attr_accessor :id, :author, :title, :archive_path, :replace_pattern - def self.load(target) + def self.load(target, ignore_force) archive_path = Downloader.get_novel_data_dir_by_target(target) if archive_path - setting = new(archive_path) + setting = new(archive_path, ignore_force) data = Downloader.get_data_by_target(target) setting.id = data["id"] setting.author = data["author"] setting.title = data["title"] setting else nil end end - def initialize(archive_path) + def initialize(archive_path, ignore_force) @archive_path = File.expand_path(archive_path) + @ignore_force = ignore_force load_settings set_attribute load_replace_pattern end @@ -45,15 +46,17 @@ @setting = {} ini_path = File.join(@archive_path, INI_NAME) ini = Ini.load_file(ini_path) rescue Ini.load("") force_settings = {} # 設定値を強制的に上書きするデータの読込 - LocalSetting.get["local_setting"].each { |name, value| - if name =~ /^force\.(.+)$/ - force_settings[$1] = value - end - } + unless @ignore_force + Inventory.load("local_setting", :local).each { |name, value| + if name =~ /^force\.(.+)$/ + force_settings[$1] = value + end + } + end DEFAULT_SETTINGS.each do |element| name, value = element[:name], element[:value] if force_settings.include?(name) @setting[name] = force_settings[name] elsif ini["global"].include?(name) @@ -94,11 +97,11 @@ @replace_pattern = [] replace_txt_path = File.join(@archive_path, REPLACE_NAME) if File.exists?(replace_txt_path) open(replace_txt_path, "r:BOM|UTF-8") do |fp| fp.each do |line| - line.sub!(/\n\z/, "") + line.sub!(/[\r\n]+\z/, "") next if line[0] == ";" # コメント記号 pattern = line.split("\t", 2) if pattern.length == 2 && pattern[0] @replace_pattern << pattern end @@ -243,8 +246,13 @@ }, { name: "enable_ruby_youon_to_big", value: false, help: "ルビの拗音(ぁ、ぃ等)を商業書籍のように大きくするかどうか" + }, + { + name: "enable_pack_blank_line", + value: true, + help: "縦書きで読みやすいように空行を減らすかどうか" }, ] end