Class: SplitFileUltra

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

Overview

Just split it!

Class Method Summary collapse

Class Method Details

.split(f_in, chunksize = 1024 * 1024) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/split_file_ultra.rb', line 3

def self.split(f_in, chunksize = 1024 * 1024)
  chunks_list = []
  File.open(f_in, 'r') do |fh_in|
    until fh_in.eof?
      chunk_name = "#{File.dirname(f_in)}/#{(File.basename(f_in).split('.')[0..-2]).join}.#{fh_in.pos / chunksize}#{File.extname(f_in)}"
      File.open(chunk_name, 'w') do |fh_out|
        fh_out << fh_in.read(chunksize)
      end
      chunks_list << chunk_name
    end
  end
  chunks_list
end