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