lib/canvas_sync/processors/normal_processor.rb



require_relative "./report_processor"

module CanvasSync
  module Processors
    # Processes any report using the normal bulk importer.
    #
    # @param report_file_path [String]
    # @param options [Hash]
    # @param report_id [Integer]
    class NormalProcessor < ReportProcessor
      def self.process(report_file_path, options, report_id)
        new(report_file_path, options)
      end

      def initialize(report_file_path, options)
        m = mapping[options[:mapping].to_sym]
        CanvasSync::Importers::BulkImporter.import(
          report_file_path,
          m[:columns],
          options[:klass].constantize,
          m[:conflict_target],
        )
      end
    end
  end
end