Class: DirSizeRenamer
- Inherits:
-
Object
- Object
- DirSizeRenamer
- Defined in:
- lib/dir_size_renamer.rb
Instance Method Summary collapse
-
#initialize(directory, options = { verbose: false, rerename: false }) ⇒ DirSizeRenamer
constructor
A new instance of DirSizeRenamer.
- #rename! ⇒ Object
- #rename_undo! ⇒ Object
Constructor Details
#initialize(directory, options = { verbose: false, rerename: false }) ⇒ DirSizeRenamer
Returns a new instance of DirSizeRenamer.
6 7 8 9 10 11 12 |
# File 'lib/dir_size_renamer.rb', line 6 def initialize(directory, = { verbose: false, rerename: false }) # An existing directory should be provided raise "Invalid path given: #{directory}" if not Dir.exists?(directory) @directory = directory @verbose = [:verbose] @rerename = [:rerename] end |
Instance Method Details
#rename! ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/dir_size_renamer.rb', line 14 def rename! start_time = Time.now report "Starting to rename directories within #{@directory}" Dir["#{@directory}/*/"].each do |dir| subfolder = Subfolder.new(dir.chomp("/")) report("Processing #{File.basename(subfolder.directory)}... ", inline: true) # Derenaming during renaming is necessary only in rerename mode # and only if actual size does not match size in the name subfolder.remove_size_from_name! if @rerename == true and not subfolder.name_matches_size? subfolder.add_path_to_name! if not subfolder.name_contains_size? report(subfolder.size_human_readable,skip_time: true) end report "Finished! Elapsed time: #{ChronicDuration.output(Time.now - start_time)}" end |
#rename_undo! ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/dir_size_renamer.rb', line 37 def rename_undo! report "Starting to derename directories within #{@directory}" Dir["#{@directory}/*/"].each do |dir| subfolder = Subfolder.new(dir.chomp("/")) report("Processing #{File.basename(subfolder.directory)}... ") subfolder.remove_size_from_name! if subfolder.name_contains_size? #report(subfolder.size_human_readable,skip_time: true) if @verbose end report "Finished derenaming!" end |