module RgGen::SpreadsheetLoader::SpreadsheetLoader
Constants
- Position
- SUB_LAYERS
Public Instance Methods
read_file(file)
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 8 def read_file(file) Spreadsheet::Book.new(file) { |book| read_spreadsheet(file, book) } end
Private Instance Methods
bit_field_cells(row)
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 39 def bit_field_cells(row) start_column = bit_field_start_position.column size = valid_values(:bit_field).size row.cells(start_column, size) end
bit_field_start_column()
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 94 def bit_field_start_column register_start_position.column + valid_values(:register).size end
bit_field_start_position()
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 89 def bit_field_start_position @bit_field_start_position ||= Position.new(0, bit_field_start_column) end
collect_bit_field_data(rows)
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 76 def collect_bit_field_data(rows) rows end
collect_layer_data(read_data, layer)
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 19 def collect_layer_data(read_data, layer) values = valid_values(layer) cells = __send__("#{layer}_cells", read_data) values.zip(cells).to_h end
collect_register_block_data(book)
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 56 def collect_register_block_data(book) book.sheets end
collect_register_data(sheet)
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 60 def collect_register_data(sheet) sheet .rows(register_start_position.row) .reject { |row| row.cells.all?(&:empty_cell?) } .each_with_object([], &method(:collect_register_rows)) end
collect_register_rows(row, row_sets)
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 67 def collect_register_rows(row, row_sets) register_begin?(row) && (row_sets << []) row_sets.last << row end
format_layer_data(read_data, layer, _file)
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 14 def format_layer_data(read_data, layer, _file) return if layer == :root collect_layer_data(read_data, layer) end
format_sub_layer_data(read_data, layer, _file)
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 51 def format_sub_layer_data(read_data, layer, _file) sub_layer = SUB_LAYERS[layer] sub_layer && { sub_layer => __send__("collect_#{sub_layer}_data", read_data) } end
register_begin?(row)
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 72 def register_begin?(row) !row[register_start_position.column].empty_cell? end
register_block_cells(sheet)
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 25 def register_block_cells(sheet) start_row = register_block_start_position.row start_column = register_block_start_position.column Array.new(valid_values(:register_block).size) do |i| sheet[start_row + i, start_column] end end
register_block_start_position()
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 80 def register_block_start_position @register_block_start_position ||= Position.new(0, 2) end
register_cells(rows)
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 33 def register_cells(rows) start_column = register_start_position.column size = valid_values(:register).size rows.first.cells(start_column, size) end
register_start_position()
click to toggle source
# File lib/rggen/spreadsheet_loader/spreadsheet_loader.rb, line 84 def register_start_position @register_start_position ||= Position.new(valid_values(:register_block).size + 2, 1) end