# -*- coding: utf-8 -*- # # Copyright 2013 whiteleaf. All rights reserved. # # rubocop:disable Style/ClassAndModuleChildren module Narou::ServerHelpers RELOAD_TIMING_DEFAULT = "every" # # タグをHTMLで装飾する # def decorate_tags(tags) tags.sort.map do |tag| %!#{escape_html(tag)}! end.join(" ") end # # タグをHTMLで装飾する(除外タグ指定用) # def decorate_exclusion_tags(tags) tags.sort.map do |tag| %!^tag:#{escape_html(tag)}! end.join(" ") end # # Rubyバージョンを構築 # def build_ruby_version begin `"#{RbConfig.ruby}" -v`.strip rescue config = RbConfig::CONFIG "ruby #{RUBY_VERSION}p#{config["PATCHLEVEL"]} [#{RUBY_PLATFORM}]" end end # # 有効な novel ID だけの配列を生成する # ID が指定されなかったか、1件も存在しない場合は nil を返す # def select_valid_novel_ids(ids) return nil unless ids.kind_of?(Array) result = ids.select do |id| id =~ /^\d+$/ end result.empty? ? nil : result end # # フォーム情報の真偽値データを実際のデータに変換 # def convert_on_off_to_boolean(str) case str when "on" true when "off" false else nil end end # # nil true false を nil on off という文字列に変換 # def convert_boolean_to_on_off(bool) case bool when TrueClass "on" when FalseClass "off" else "nil" end end # # HTMLエスケープヘルパー # def h(text) Rack::Utils.escape_html(text) end # # 与えられたデータが真偽値だった場合、設定画面用に「はい」「いいえ」に変換する # 真偽値ではなかった場合、そのまま返す # def value_to_msg(value) case value when TrueClass "はい" when FalseClass "いいえ" else value end end def notepad_text_path File.join(Narou.local_setting_dir, "notepad.txt") end def query_to_boolean(value, default: false) case value when "1", 1, "true", true true when "0", 0, "false", false false else default end end def table_reload_timing Inventory.load("local_setting")["webui.table.reload-timing"] || RELOAD_TIMING_DEFAULT end end