Files
codeocean/app/models/concerns/user.rb

31 lines
526 B
Ruby

module User
extend ActiveSupport::Concern
ROLES = %w[admin teacher]
included do
belongs_to :consumer
has_many :exercises, as: :user
has_many :file_types, as: :user
has_many :submissions, as: :user
scope :with_submissions, -> { where('id IN (SELECT user_id FROM submissions)') }
end
ROLES.each do |role|
define_method("#{role}?") { self.try(:role) == role }
end
def external?
is_a?(ExternalUser)
end
def internal?
is_a?(InternalUser)
end
def to_s
name
end
end