Sha256: 09f28fde0a63c183a21e66d865a93ae6635e4e63194bddd6db7f68ce85bd8541

Contents?: true

Size: 1.05 KB

Versions: 4

Compression:

Stored size: 1.05 KB

Contents

# frozen_string_literal: true

require_relative "concept_ai_gift_exporter"
require_relative "code_gift_exporter"
require_relative "problem_gift_exporter"
require_relative "../application"
require_relative "../version"

module DataGiftExporter
  ##
  # Export an array of Data (ConceptAIs, Codes and Problems objects) into GIFT file
  # @param data (Hash)
  # @param project (Project)
  def self.export_all(data, project)
    file = File.open(project.get(:outputpath), "w")
    file.write("// " + ("=" * 50) + "\n")
    file.write("// #{Asker::NAME}    : version #{Asker::VERSION}\n")
    file.write("// Filename : #{project.get(:outputname)}\n")
    file.write("// Datetime : #{Time.new}\n")
    file.write("// " + ("=" * 50) + "\n\n")
    category = Application.instance.config["questions"]["category"]
    file.write("$CATEGORY: $course$/#{category}\n") unless category.nil?

    ConceptAIGiftExporter.export_all(data[:concepts_ai], file)
    CodeGiftExporter.export_all(data[:codes_ai], file)
    ProblemGiftExporter.new.call(data[:problems], file)
    file.close
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
asker-tool-2.8.0 lib/asker/exporter/data_gift_exporter.rb
asker-tool-2.7.2 lib/asker/exporter/data_gift_exporter.rb
asker-tool-2.7.1 lib/asker/exporter/data_gift_exporter.rb
asker-tool-2.7.0 lib/asker/exporter/data_gift_exporter.rb