Class: HDataLoader
- Inherits:
-
Object
- Object
- HDataLoader
- Defined in:
- lib/hdb/hdataloader.rb
Instance Method Summary collapse
- #addRecord(record, i) ⇒ Object
- #example(count = 10) ⇒ Object
-
#initialize(filename, connectionName = "default") ⇒ HDataLoader
constructor
A new instance of HDataLoader.
- #load ⇒ Object
- #recordGenerator(tableName, record, min, max, overwrite = false) ⇒ Object
Constructor Details
#initialize(filename, connectionName = "default") ⇒ HDataLoader
Returns a new instance of HDataLoader.
7 8 9 10 |
# File 'lib/hdb/hdataloader.rb', line 7 def initialize(filename, connectionName = "default") @filename = filename @connectionName = connectionName end |
Instance Method Details
#addRecord(record, i) ⇒ Object
45 46 47 48 49 50 51 52 53 |
# 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) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# 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 ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# 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) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# 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 |