transferred Code Ocean from original repository to GitHub

This commit is contained in:
Hauke Klement
2015-01-22 09:51:49 +01:00
commit 4cbf9970b1
683 changed files with 11979 additions and 0 deletions

View File

View File

@@ -0,0 +1,20 @@
module Context
extend ActiveSupport::Concern
included do
has_many :files, as: :context, class: CodeOcean::File
accepts_nested_attributes_for :files
end
def add_file(file_attributes)
file = files.create(file_attributes)
save
file
end
def add_file!(file_attributes)
file = files.create!(file_attributes)
save!
file
end
end

View File

@@ -0,0 +1,12 @@
module Creation
extend ActiveSupport::Concern
included do
belongs_to :user, polymorphic: true
alias_method :author, :user
alias_method :creator, :user
validates :user_id, presence: true
validates :user_type, presence: true
end
end

View File

@@ -0,0 +1,30 @@
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