class HDataLoader
Public Class Methods
new(filename, connectionName = "default")
click to toggle source
# File lib/hdb/hdataloader.rb, line 7 def initialize(filename, connectionName = "default") @filename = filename @connectionName = connectionName end
Public Instance Methods
addRecord(record, i)
click to toggle source
# File lib/hdb/hdataloader.rb, line 45 def addRecord(record, i) @file = File.new(@filename, "a+") @file << " record_#{i}:\n" record.each do |fieldName, fieldValue| fieldValue = fieldValue.gsub('$', i.to_s) @file << " #{fieldName}: '#{fieldValue}'\n" end @file.close if(@file) end
example(count = 10)
click to toggle source
# File lib/hdb/hdataloader.rb, line 56 def example(count = 10) record = {id: '#default', name: 'name-$', name_d: 'name_d_$', d: 'd_$'} self.recordGenerator("d_tables", record, 1, count, true) record = {id: '#default', name: 'name-$', name_a: 'name_a_$', a: 'a_$'} self.recordGenerator("a_tables", record, 1, count) record = {id: '#default', name: 'name-$', name_b: 'name_b-$', b: 'b-$', d_tables_id: '#$ % 5 + 1', a_tables_id: '$'} self.recordGenerator("b_tables", record, 1, count) record = {id: '#default', name: 'name-$', name_c: 'name_c-$', c: 'c-$', b_tables_id: '$'} self.recordGenerator("c_tables", record, 1, count) self.recordGenerator("name_table", {name: 'name-$'}, 1, count) self.recordGenerator("surname_table", {surname: 'surname-$'}, 1, count) self.recordGenerator("name_table_surname_table_join", {name_table_id: '#$', surname_table_id: '#$'}, 1, count) self.addRecord({name_table_id: '#1', surname_table_id: '#2'}, 10) self.addRecord({name_table_id: '#1', surname_table_id: '#3'}, 11) self.load end
load()
click to toggle source
# File lib/hdb/hdataloader.rb, line 13 def load return unless File.file?(@filename) @data = YAML.load_file(@filename) oodb = HODB.new(connectionName: @connectionName) @data.each do |modelName, record| model = oodb.newHODB(modelName) record.each do |recordName, recordValue| model.create(recordValue) end model.writeAll end end
recordGenerator(tableName, record, min, max, overwrite = false)
click to toggle source
# File lib/hdb/hdataloader.rb, line 28 def recordGenerator(tableName, record, min, max, overwrite = false) @file = overwrite ? File.new(@filename, "w+") : File.new(@filename, "a+") @file << "#{tableName}:\n" for i in min...max @file << " record_#{i}:\n" record.each do |fieldName, fieldValue| fieldValue = fieldValue.gsub('$', i.to_s) @file << " #{fieldName}: '#{fieldValue}'\n" end end @file.close if(@file) end