Sha256: 74f63a2aece4bf9659bec2d6454c3cfd3e52db897d934312da082e8660f64b15

Contents?: true

Size: 660 Bytes

Versions: 10

Compression:

Stored size: 660 Bytes

Contents

module Canvas::Models
  class Enrollment < BaseModel
    validates :user_sis_id, :role, presence: true
    validates :role, inclusion: {in:  ['student', 'teacher', 'ta', 'observer', 'designer', 'Pending Orientation']}
    validates :status, inclusion: {in:  %w(active deleted completed)}
    validate :course_or_section
    attr_accessor :course_sis_id, :user_sis_id, :role, :section_sis_id, :status, :associated_user_sis_id

    def course_or_section
      errors.add(:id, 'An enrollment must have either a course_id or a section_id') unless @course_sis_id || @section_sis_id
    end

    def after_initialize
      self.status ||= 'active'
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
integration_pal-0.2.3 app/models/canvas/models/enrollment.rb
integration_pal-0.2.2 app/models/canvas/models/enrollment.rb
integration_pal-0.2.1 app/models/canvas/models/enrollment.rb
integration_pal-0.2.0 app/models/canvas/models/enrollment.rb
integration_pal-0.1.6 app/models/canvas/models/enrollment.rb
integration_pal-0.1.5 app/models/canvas/models/enrollment.rb
integration_pal-0.1.4 app/models/canvas/models/enrollment.rb
integration_pal-0.1.3 lib/canvas/models/enrollment.rb
integration_pal-0.1.2 lib/canvas/models/enrollment.rb
integration_pal-0.1.1 lib/canvas/models/enrollment.rb