Sha256: 66263e63c04e4ad201671bc3e76c49f44f553ecc4aaeb3731d4603eb9c24391f

Contents?: true

Size: 662 Bytes

Versions: 2

Compression:

Stored size: 662 Bytes

Contents

require 'renumber/version'

module Renumber
  def sorted_files(path)
    raise ArgumentError, 'Path must be a directory' unless File.directory?(path)

    Dir.chdir(path)

    file_entries_from_path('.').sort
  end

  def change_files(path, prefix=nil, suffix=nil)
    sorted_files = sorted_files(path)
    return if sorted_files.length == 0

    zeros_length = Math.log10(sorted_files.length).ceil

    sorted_files.each_with_index do |file, index|
      File.rename(file, "#{prefix}#{index.to_s.rjust(zeros_length, '0')}#{suffix}")
    end
  end

  private

  def file_entries_from_path(path)
    Dir.entries(path).select { |file| File.file?(file) }
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
renumber-0.0.9 lib/renumber.rb
renumber-0.0.8 lib/renumber.rb