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
#
# 外部コマンド実行中の待機ループの処理を書けるクラス
#