module Base
	class GrupoDaFonteDeRecursos < ApplicationRecord
		has_paper_trail

		belongs_to :modulo, polymorphic: true, required: true

		has_many :fontes_de_recursos, dependent: :destroy

		validates_presence_of :codigo, :descricao, :modulo_id, :modulo_type
		validates_uniqueness_of :codigo, scope: [:modulo_id, :modulo_type]
		validates_uniqueness_of :descricao, scope: [:modulo_id, :modulo_type]

		validates_length_of :codigo, is: 1
		validates_length_of :descricao, maximum: 40

		validates :modulo_type, immutable: true
		validates :modulo_id, immutable: true
	end
end
