Sha256: 2def34827244d2b9d4e14e375bf315647c19707b25a5e5ed639225240170ad69

Contents?: true

Size: 1.25 KB

Versions: 5

Compression:

Stored size: 1.25 KB

Contents

# # #
# AUTO GENERATED MIGRATION
# This migration was auto generated by the CanvasSync Gem.
# You can add new columns to this table, but removing or
# re-naming ones created here may break Canvas Syncing.
#


class ContextModuleItem < ApplicationRecord
  include CanvasSync::Record
  include CanvasSync::Concerns::ApiSyncable
  # include CanvasSync::Concerns::LiveEventSync

  canvas_sync_features :defaults

  belongs_to :context_module, primary_key: :canvas_id, foreign_key: :canvas_context_module_id, optional: true
  belongs_to :content, polymorphic: true, optional: true, primary_key: :canvas_id, foreign_key: :canvas_content_id, foreign_type: :canvas_content_type
  belongs_to :assignment, foreign_key: :canvas_assignment_id, primary_key: :canvas_id

  api_syncable({
    canvas_id: :id,
    canvas_context_module_id: :module_id,
    position: :position,
    canvas_content_type: :type,
    canvas_content_id: :content_id,
    canvas_assignment_id: :assignment_id
  }, lambda { |api|
    module_item = api.module_item(context_module.context.canvas_id, context_module.canvas_id, canvas_id)
    module_item['assignment_id'] = api.assignment(context_module.context.canvas_id, module_item['content_id'])['id'] if module_item['type'] == 'Assignment'
    module_item
  })
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
canvas_sync-0.22.9 spec/dummy/app/models/context_module_item.rb
canvas_sync-0.22.8 spec/dummy/app/models/context_module_item.rb
canvas_sync-0.22.6 spec/dummy/app/models/context_module_item.rb
canvas_sync-0.22.5 spec/dummy/app/models/context_module_item.rb
canvas_sync-0.22.4 spec/dummy/app/models/context_module_item.rb