Sha256: cd498f865786f3039611ce81c2a26bcf1dd28922ecebb0b9811f85c6a0ad6489

Contents?: true

Size: 849 Bytes

Versions: 2

Compression:

Stored size: 849 Bytes

Contents

require 'yaml'
require 'active_support/all'
require "maprename/renamer"

module Maprename
  class App
    def initialize(config_file)
      @config = YAML.load(IO.read(config_file)).with_indifferent_access
    end

    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

    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
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
maprename-0.1.5 lib/maprename/app.rb
maprename-0.1.4 lib/maprename/app.rb