Sha256: d1b6fe6b585cd5b85bd516225b2d058dcdbc3253a75511e6ec530b5b726bb648
Contents?: true
Size: 801 Bytes
Versions: 3
Compression:
Stored size: 801 Bytes
Contents
module EasyML class FileRotate def initialize(directory, files_to_keep) @directory = directory @files_to_keep = files_to_keep end def cleanup(allowed_endings = %w[json]) return unless @directory.present? allowed_patterns = allowed_endings.map { |ending| File.join(@directory, "**", "*#{ending}") } files_to_check = allowed_patterns.empty? ? Dir.glob(File.join(@directory, "**/*")) : Dir.glob(allowed_patterns) # Filter out directories files_to_check = files_to_check.select { |file| File.file?(file) } files_to_check.each do |file| FileUtils.chown_R(`whoami`.chomp, "staff", file) FileUtils.chmod_R(0o777, file) File.delete(file) if @files_to_keep.exclude?(file) && File.exist?(file) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
easy_ml-0.1.4 | lib/easy_ml/support/file_rotate.rb |
easy_ml-0.1.3 | lib/easy_ml/support/file_rotate.rb |
easy_ml-0.1.2 | lib/easy_ml/support/file_rotate.rb |