class FileSorter::Sorter
Attributes
folder[RW]
format[RW]
Public Class Methods
new(options = {})
click to toggle source
# File lib/file_sorter/sorter.rb, line 7 def initialize(options = {}) @folder = options[:folder] || "." @format = options[:format] || "%Y/%m/%d" end
Public Instance Methods
revert()
click to toggle source
# File lib/file_sorter/sorter.rb, line 24 def revert FileUtils.cd(@folder) do Dir["**/*"].each do |item| if File.file?(item) FileUtils.mv item, File.join(@folder, File.basename(item)) end end Dir["**/*"].each do |item| FileUtils.remove_dir(item) if File.directory?(item) end end end
start()
click to toggle source
# File lib/file_sorter/sorter.rb, line 12 def start Dir.foreach(@folder) do |file| next if [".", ".."].include?(file) full_path = File.join(@folder, file) new_folder = File.join(@folder, File.mtime(full_path).strftime(@format)) FileUtils.mkdir_p new_folder FileUtils.mv full_path, File.join(new_folder, file) end end