Sha256: 110ff5d9fc8193a318df53d1654e9ec1e6982ee214f527a553cae6a270b6be4a

Contents?: true

Size: 786 Bytes

Versions: 7

Compression:

Stored size: 786 Bytes

Contents

require 'fileutils'

module Cranium::Archiver

  def self.archive(*files)
    create_archive_directory
    archive_files files
  end



  def self.remove(*files)
    files.each do |file_name|
      FileUtils.rm File.join(Cranium.configuration.upload_path, file_name)
    end
  end



  private

  def self.create_archive_directory
    FileUtils.mkpath Cranium.configuration.archive_directory unless Dir.exists? Cranium.configuration.archive_directory
  end



  def self.archive_files(files)
    archive_datetime = Time.now.strftime("%Y-%m-%d_%Hh%Mm%Ss")
    files.each do |file_name|
      FileUtils.mv File.join(Cranium.configuration.upload_path, file_name),
                   File.join(Cranium.configuration.archive_directory, "#{archive_datetime}_#{file_name}")
    end
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
cranium-0.4.2 lib/cranium/archiver.rb
cranium-0.4.1 lib/cranium/archiver.rb
cranium-0.4 lib/cranium/archiver.rb
cranium-0.3.1 lib/cranium/archiver.rb
cranium-0.3.0 lib/cranium/archiver.rb
cranium-0.2.1 lib/cranium/archiver.rb
cranium-0.2.0 lib/cranium/archiver.rb