Sha256: deb3f76abfd1e7d095868d999538a142380fe9c5a4fec6162a8f54c0e07ddb93
Contents?: true
Size: 1.17 KB
Versions: 3
Compression:
Stored size: 1.17 KB
Contents
<%= autogenerated_model_warning %> class Assignment < ApplicationRecord include CanvasSync::ApiSyncable validates :canvas_assignment_id, uniqueness: true, presence: true belongs_to :context, polymorphic: true, optional: true, primary_key: :canvas_course_id belongs_to :assignment_group, optional: true, primary_key: :canvas_assignment_group_id, foreign_key: :canvas_assignment_group_id has_many :submissions, primary_key: :canvas_assignment_id, foreign_key: :canvas_assignment_id has_many :context_module_items, primary_key: :canvas_assignment_id, foreign_key: :content_id, dependent: :destroy has_many :context_modules, through: :context_module_items api_syncable({ title: :name, description: :description, due_at: :due_at, unlock_at: :unlock_at, lock_at: :lock_at, points_possible: :points_possible, grading_type: :grading_type, submission_types: lambda { |p| p["submission_types"].join(",") }, context_id: :course_id, context_type: lambda { |_p| "Course" }, canvas_assignment_group_id: :assignment_group_id, grading_standard_id: :grading_standard_id, }, -> (api) { api.assignment(context_id, canvas_assignment_id) }) end
Version data entries
3 entries across 3 versions & 1 rubygems