lib/helper.rb in narou-2.7.2 vs lib/helper.rb in narou-2.8.0

- old
+ new

@@ -12,10 +12,11 @@ # module Helper module_function HOST_OS = RbConfig::CONFIG["host_os"] + FILENAME_LENGTH_LIMIT = 50 def os_windows? @@os_is_windows ||= HOST_OS =~ /mswin(?!ce)|mingw|bccwin/i end @@ -302,9 +303,26 @@ else mask end end result + end + + # + # 長過ぎるファイルパスを詰める + # ファイル名部分のみを詰める。拡張子は維持する + # + def truncate_path(path, limit = FILENAME_LENGTH_LIMIT) + dirname = File.dirname(path) + extname = File.extname(path) + basename = File.basename(path, extname) + if basename.length > limit + basename = basename[0...limit] + dirname = nil if dirname == "." + [dirname, "#{basename}#{extname}"].compact.join("/") + else + path + end end # # 外部コマンド実行中の待機ループの処理を書けるクラス #