Sha256: 9261740e8e61845c82e61770fb0ce43a496b9d4d78f2ccd5aa18281e9d916f11

Contents?: true

Size: 742 Bytes

Versions: 4

Compression:

Stored size: 742 Bytes

Contents

module Sis
  module Core
    class AcademicProgramme < ApplicationRecord
      belongs_to :programme
      belongs_to :programme_type
      belongs_to :programme_level
      has_many :academic_programme_documents

      validates :programme_id, uniqueness: { scope: %i[programme_level_id programme_type_id],
                                             message: 'Program has already been created !' }

      delegate(:name, to: :programme, prefix: true, allow_nil: false)
      delegate(:name, to: :programme_type, prefix: true, allow_nil: false)
      delegate(:name, to: :programme_level, prefix: true, allow_nil: false)

      def name
        "#{programme.name} #{programme_level.name} #{programme_type.name}"
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sis_core-1.0.20 app/models/sis/core/academic_programme.rb
sis_core-1.0.19 app/models/sis/core/academic_programme.rb
sis_core-1.0.18 app/models/sis/core/academic_programme.rb
sis_core-1.0.17 app/models/sis/core/academic_programme.rb