class Maprename::App

Public Class Methods

new(config_file) click to toggle source
# File lib/maprename/app.rb, line 7
def initialize(config_file)
  @config = YAML.load(IO.read(config_file)).with_indifferent_access
end

Public Instance Methods

input_files() click to toggle source
# File lib/maprename/app.rb, line 25
def input_files
  files = Dir.children(@config[:input][:directory]).grep(Regexp.new(@config[:input][:pattern]))
  debug 'Matched input files:'
  debug files.map { |f| '  %s' % f}
  files
end
run!(opts) click to toggle source
# File lib/maprename/app.rb, line 11
def run!(opts)
  input_files.each do |file|
    begin
    file = File.join(@config[:input][:directory], file)
    Maprename::Renamer.new(file, @config).rename!(opts[:dry])
    rescue => e
      STDERR.puts("Error occurs when processing file: #{file}, skipped")
      if $debug
        STDERR.puts "#{e.inspect}, #{e.backtrace}"
      end
    end
  end
end