Class: EasyZip::File

Inherits:
Object
  • Object
show all
Defined in:
lib/easy_zip/file.rb

Overview

file class.

Class Method Summary collapse

Class Method Details

.read_lines(filepath) ⇒ Array

read all lines in gzip file.

Parameters:

  • filepath (String)

    read filepath.

Returns:

  • (Array)

    file lines.



12
13
14
15
16
17
18
19
20
21
# File 'lib/easy_zip/file.rb', line 12

def self.read_lines(filepath)

  lines = nil
  # read gzip file, and read all lines.
  Zlib::GzipReader.open(filepath) { |gz|
    lines = gz.readlines
  }

  lines
end

.write_lines(filepath, values) ⇒ Object

write all lines to gzip file.

Parameters:

  • filepath (String)

    write filepath.

  • values (String / Array)

    write value or lines(Array).



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/easy_zip/file.rb', line 26

def self.write_lines(filepath, values)

  lines = nil
  # if values is String, create new Array instance.
  if values.is_a?(String)
    lines = [values]
  elsif values.is_a?(Array)
    lines = values
  end

  Zlib::GzipWriter.open(filepath) { |gz|
    # write to gzip file.
    lines.each { |line|
      gz.puts(line)
    }
  }
end