Class: LargeFileGenerator

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

Constant Summary collapse

DEFAULTS =
{
    num_columns:        10,
    num_rows:           1e6.to_i,
    column_separator:   ","
}

Instance Method Summary collapse

Constructor Details

#initialize(filename, options = {}) ⇒ LargeFileGenerator

Returns a new instance of LargeFileGenerator.



9
10
11
12
# File 'lib/large_file_generator.rb', line 9

def initialize(filename, options = {})
  @filename = filename
  @options = DEFAULTS.merge(options)
end

Instance Method Details

#generate!Object



14
15
16
17
18
19
20
# File 'lib/large_file_generator.rb', line 14

def generate!
  File.open(@filename, "w") do |f|
    @options[:num_rows].times do
      f.puts (0...@options[:num_columns]).map{rand(@options[:num_rows])}.join(@options[:column_separator])
    end
  end
end