Class: CanvasSync::Jobs::SyncTermsJob
- Inherits:
 - 
      CanvasSync::Job
      
        
- Object
 - ActiveJob::Base
 - CanvasSync::Job
 - CanvasSync::Jobs::SyncTermsJob
 
 
- Defined in:
 - lib/canvas_sync/jobs/sync_terms_job.rb
 
Instance Attribute Summary
Attributes inherited from CanvasSync::Job
Instance Method Summary collapse
- 
  
    
      #perform(options)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Syncs Terms using the Canvas API.
 
Methods inherited from CanvasSync::Job
#create_job_log, #report_checker_wait_time, #update_or_create_model
Instance Method Details
#perform(options) ⇒ Object
Syncs Terms using the Canvas API
Terms are pre-synced so that provisioning reports can be scoped to term.
      11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27  | 
    
      # File 'lib/canvas_sync/jobs/sync_terms_job.rb', line 11 def perform() CanvasSync.get_canvas_sync_client(batch_context).terms("self", workflow_state: ['all']).all_pages!.each do |term_params| if account_id = batch_context[:account_id] # These branches are primarily to support Legacy apps if Term.respond_to?(:create_or_update) && Term.method(:create_or_update).arity.abs == 2 Term.create_or_update(term_params, account_id) else term_params[:account_id] |= account_id update_or_create_model(Term, term_params) end else update_or_create_model(Term, term_params) end end TermBatchesJob.perform_now() end  |