module MassRenamer::Free
Public Instance Methods
exclude_weird_filenames!(files)
click to toggle source
# File lib/mass_renamer/free.rb, line 34 def exclude_weird_filenames! files files.reject! { |f| f = f.to_s; f.include?("\n") or f.start_with?(" ") } end
filter_files!(files, filter)
click to toggle source
# File lib/mass_renamer/free.rb, line 30 def filter_files! files, filter files.select! { |i| i.to_s[filter] } if filter end
gather_files(dir, recursive: false, filter: nil)
click to toggle source
# File lib/mass_renamer/free.rb, line 23 def gather_files(dir, recursive: false, filter: nil) files = gather_files_impl Pathname.new(dir), recursive filter_files! files, filter if filter exclude_weird_filenames! files files end
gather_files_impl(dir, recursive)
click to toggle source
# File lib/mass_renamer/free.rb, line 7 def gather_files_impl dir, recursive children = dir.children false sort_files! children if recursive children.collect! do |c| filepath = dir + c if filepath.directory? [filepath, gather_files_impl(filepath, recursive)] else filepath end end.flatten! end children end
generate_file_to_edit(files)
click to toggle source
# File lib/mass_renamer/free.rb, line 52 def generate_file_to_edit files res = "" files.each do |f| res << f.to_s << "\n\t" << f.to_s << "\n" end res end
parse_renames(str)
click to toggle source
# File lib/mass_renamer/free.rb, line 60 def parse_renames str lines = str.lines.map(&:chomp).reject { |l| l[/^\s*$/] } renames = [] until lines.empty? filename = lines.shift targets = [] while lines[0] and lines[0] =~ /^\s/ targets << lines.shift.strip end renames << [filename, targets] end renames end
sort_files!(files)
click to toggle source
# File lib/mass_renamer/free.rb, line 38 def sort_files! files files.sort! do |a,b| if a.directory? and b.directory? a <=> b elsif a.directory? -1 elsif b.directory? 1 else a <=> b end end end