Class: DriveTime::SpreadsheetsConverter
- Inherits:
-
Object
- Object
- DriveTime::SpreadsheetsConverter
- Defined in:
- lib/drive_time/converters/spreadsheets_converter.rb
Instance Method Summary collapse
-
#initialize ⇒ SpreadsheetsConverter
constructor
A new instance of SpreadsheetsConverter.
-
#load(mappings_path) ⇒ Object
Load mappings YML file.
Constructor Details
#initialize ⇒ SpreadsheetsConverter
Returns a new instance of SpreadsheetsConverter.
5 6 7 8 9 10 |
# File 'lib/drive_time/converters/spreadsheets_converter.rb', line 5 def initialize() @dependency_graph = DeepEnd::Graph.new @loader = DriveTime::Loader.new @model_store = ModelStore.new(DriveTime::log_level) @class_name_map = ClassNameMap.new end |
Instance Method Details
#load(mappings_path) ⇒ Object
Load mappings YML file
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/drive_time/converters/spreadsheets_converter.rb', line 13 def load(mappings_path) @mappings = ActiveSupport::HashWithIndifferentAccess.new(YAML::load File.open(mappings_path)) @namespace = @mappings[:namespace] spreadsheets = download_spreadsheets worksheets = [] spreadsheets.each do |spreadsheet| # Create a map containing any class mappings build_class_map spreadsheet # Download and combine worksheets into single Array downloaded_worksheets = download_worksheets(spreadsheet) worksheets.concat downloaded_worksheets end worksheets = order_worksheets_by_dependencies( worksheets ) # Convert the worksheets worksheets.each do |worksheet| WorksheetConverter.new(@model_store, @class_name_map, @loader, @namespace).convert(worksheet) end @model_store.save_all end |