Class: FileManipulator::Splitter

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config = FileManipulator.configuration) ⇒ Splitter

Returns a new instance of Splitter.



5
6
7
# File 'lib/file_manipulator/splitter.rb', line 5

def initialize(config = FileManipulator.configuration)
  @config = config
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



3
4
5
# File 'lib/file_manipulator/splitter.rb', line 3

def config
  @config
end

Instance Method Details

#runObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/file_manipulator/splitter.rb', line 9

def run
  index = 0
  encoding = File.read(file_name).encoding.to_s

  File.open(file_name, 'r') do |input|
    until input.eof?
      File.open(File.join(config.split_files_directory, output_file_name(index)), 'w') do |output|
        output << input.read(config.size).force_encoding(encoding)
      end

      index += 1
    end
  end
end