Class: Runoff::FileWriter
- Inherits:
-
Object
- Object
- Runoff::FileWriter
- Defined in:
- lib/runoff/file_writer.rb
Overview
Public: Methods used for writing to files.
Class Method Summary collapse
-
.archive(output_directory) ⇒ Object
Public: Compresses all the exported files into a Zip archive.
Instance Method Summary collapse
-
#initialize(format) ⇒ FileWriter
constructor
Public: Initialize a FileWriter object.
-
#save_to_file(record, output_directory) ⇒ Object
Public: Saves a single chat message to a file.
Constructor Details
#initialize(format) ⇒ FileWriter
Public: Initialize a FileWriter object.
format - An object containing necessary methods for data formating.
10 11 12 |
# File 'lib/runoff/file_writer.rb', line 10 def initialize(format) @format = format end |
Class Method Details
.archive(output_directory) ⇒ Object
Public: Compresses all the exported files into a Zip archive.
output_directory - A String with the path to the directory, wher the file will be saved.
Examples
archive '/home/username/skype-backup'
39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/runoff/file_writer.rb', line 39 def self.archive(output_directory) = Time.now.strftime "%Y%m%d%H%M%S" Zip::ZipFile.open "#{output_directory}-#{}.zip", Zip::ZipFile::CREATE do |zipfile| Dir.entries(output_directory).each do |file| if File.file?("#{output_directory}/#{file}") zipfile.add file, "#{output_directory}/#{file}" end end end FileUtils.rm_rf output_directory end |
Instance Method Details
#save_to_file(record, output_directory) ⇒ Object
Public: Saves a single chat message to a file.
record - a Hash containing data about a single chat message. output_directory - A String with the path to the directory, wher the file will be saved.
Examples
save_to_file record, '/home/username/skype_backup'
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/runoff/file_writer.rb', line 21 def save_to_file(record, output_directory) filename = "#{output_directory}/#{@format.get_filename(record)}" Dir.mkdir(output_directory) unless File.exists?(output_directory) File.open(filename, 'a') do |file| file.puts @format.build_entry(record) end filename end |