class Thor::Actions::Directory

def execute!

def execute!
  lookup = config[:recursive] ? File.join(source, '**') : source
  lookup = File.join(lookup, '{*,.[a-z]*}')
  Dir[lookup].each do |file_source|
    next if File.directory?(file_source)
    file_destination = File.join(given_destination, file_source.gsub(source, '.'))
    case file_source
      when /\.empty_directory$/
        base.empty_directory(File.dirname(file_destination), config)
      when /\.tt$/
        base.template(file_source, file_destination[0..-4], config)
      else
        base.copy_file(file_source, file_destination, config)
    end
  end
end