Class: See5::InputFileWriter
- Inherits:
-
Object
- Object
- See5::InputFileWriter
- Defined in:
- lib/see5/input_file_writer.rb
Overview
Writes names and data files suitable for See5, Cubist, or GritBot.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(data:, schema: nil, names_io: nil, data_io: nil) ⇒ InputFileWriter
constructor
A new instance of InputFileWriter.
- #write_data_file ⇒ Object
- #write_files ⇒ Object
- #write_names_file ⇒ Object
Constructor Details
#initialize(data:, schema: nil, names_io: nil, data_io: nil) ⇒ InputFileWriter
Returns a new instance of InputFileWriter.
13 14 15 16 17 18 |
# File 'lib/see5/input_file_writer.rb', line 13 def initialize(data:, schema: nil, names_io: nil, data_io: nil) @data = data @schema = schema # TODO: automatic schema from data objects' attributes @names_io = names_io @data_io = data_io end |
Class Method Details
.write_files(data:, schema: nil, names_io: nil, data_io: nil) ⇒ Object
8 9 10 11 |
# File 'lib/see5/input_file_writer.rb', line 8 def self.write_files(data:, schema: nil, names_io: nil, data_io: nil) new(data: data, schema: schema, names_io: names_io, data_io: data_io) .write_files end |
Instance Method Details
#write_data_file ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/see5/input_file_writer.rb', line 32 def write_data_file # TODO: missing or N/A @data.each do |record| data_io.write(row(record)) data_io.write("\n") end end |
#write_files ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/see5/input_file_writer.rb', line 20 def write_files write_names_file write_data_file names_io.close data_io.close end |
#write_names_file ⇒ Object
28 29 30 |
# File 'lib/see5/input_file_writer.rb', line 28 def write_names_file names_io.write(@schema.names_file_contents) end |