Class: CanvasSync::Jobs::SyncProvisioningReportJob
- Inherits:
-
ReportSyncTask
- Object
- ReportSyncTask
- CanvasSync::Jobs::SyncProvisioningReportJob
- Defined in:
- lib/canvas_sync/jobs/sync_provisioning_report_job.rb
Overview
Job that syncs a Canvas provisioning report
Constant Summary
Constants inherited from ReportSyncTask
ReportSyncTask::AUTO_MODEL_REGEX, ReportSyncTask::COMPILATION_TIMEOUT, ReportSyncTask::MAX_TRIES, ReportSyncTask::REPORT_TIMEOUT
Instance Attribute Summary
Attributes inherited from ReportSyncTask
Instance Method Summary collapse
Methods inherited from ReportSyncTask
#caching_key, #check_frequency, from_context, #initialize, #max_tries, merge_report_params, model, perform_later, perform_now, report_name, #report_name
Constructor Details
This class inherits a constructor from CanvasSync::Jobs::ReportSyncTask
Instance Method Details
#process(file) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/canvas_sync/jobs/sync_provisioning_report_job.rb', line 31 def process(file) if [:models].length == 1 run_import([:models][0], file) else unzipped_file_dir = extract(file) Dir[unzipped_file_dir + "/*.csv"].sort.each do |file_path| model_name = file_path.split("/").last.split(".").first run_import(model_name, file_path) end end end |
#report_parameters ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/canvas_sync/jobs/sync_provisioning_report_job.rb', line 10 def report_parameters params = { include_deleted: true } [:models].each do |model| # group_membership is the only model param that is singular :( model = 'group_membership' if model == 'group_memberships' params[model] = true end merged_params = merge_report_params(, params) # Make sure the report also checks last_activity_at when checking updated_at if [:models].include?("enrollments") if (%w[last_activity_at total_activity_time] & CanvasSync::Concerns::SyncMapping.mapping_for(Enrollment)[:columns].keys).present? && merged_params.dig(:parameters, :include_last_activity) == nil merged_params[:parameters][:include_last_activity] = true end end merged_params end |