extracted method
This commit is contained in:
@ -2,6 +2,8 @@ require File.expand_path('../../../uploaders/file_uploader', __FILE__)
|
||||
|
||||
module CodeOcean
|
||||
class File < ActiveRecord::Base
|
||||
include DefaultValues
|
||||
|
||||
DEFAULT_WEIGHT = 1.0
|
||||
ROLES = %w(main_file reference_implementation regular_file teacher_defined_test user_defined_file user_defined_test)
|
||||
TEACHER_DEFINED_ROLES = ROLES - %w(user_defined_file)
|
||||
@ -74,10 +76,8 @@ module CodeOcean
|
||||
private :set_ancestor_values
|
||||
|
||||
def set_default_values
|
||||
self.content ||= ''
|
||||
self.hidden ||= false
|
||||
self.read_only ||= false
|
||||
self.weight ||= DEFAULT_WEIGHT if teacher_defined_test?
|
||||
set_default_values_if_present(content: '', hidden: false, read_only: false)
|
||||
set_default_values_if_present(weight: DEFAULT_WEIGHT) if teacher_defined_test?
|
||||
end
|
||||
private :set_default_values
|
||||
|
||||
|
8
app/models/concerns/default_values.rb
Normal file
8
app/models/concerns/default_values.rb
Normal file
@ -0,0 +1,8 @@
|
||||
module DefaultValues
|
||||
def set_default_values_if_present(options = {})
|
||||
options.each do |attribute, value|
|
||||
send(:"#{attribute}=", send(:"#{attribute}") || value) if has_attribute?(attribute)
|
||||
end
|
||||
end
|
||||
private :set_default_values_if_present
|
||||
end
|
@ -1,5 +1,6 @@
|
||||
class ExecutionEnvironment < ActiveRecord::Base
|
||||
include Creation
|
||||
include DefaultValues
|
||||
|
||||
VALIDATION_COMMAND = 'whoami'
|
||||
|
||||
@ -20,8 +21,7 @@ class ExecutionEnvironment < ActiveRecord::Base
|
||||
validates :run_command, presence: true
|
||||
|
||||
def set_default_values
|
||||
self.permitted_execution_time ||= 60 if has_attribute?(:permitted_execution_time)
|
||||
self.pool_size ||= 0 if has_attribute?(:pool_size)
|
||||
set_default_values_if_present(permitted_execution_time: 60, pool_size: 0)
|
||||
end
|
||||
private :set_default_values
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
class Exercise < ActiveRecord::Base
|
||||
include Context
|
||||
include Creation
|
||||
include DefaultValues
|
||||
|
||||
after_initialize :generate_token
|
||||
after_initialize :set_default_values
|
||||
@ -47,7 +48,7 @@ class Exercise < ActiveRecord::Base
|
||||
end
|
||||
|
||||
def set_default_values
|
||||
self.public ||= false
|
||||
set_default_values_if_present(public: false)
|
||||
end
|
||||
private :set_default_values
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
class FileType < ActiveRecord::Base
|
||||
include Creation
|
||||
include DefaultValues
|
||||
|
||||
AUDIO_FILE_EXTENSIONS = %w(.aac .flac .m4a .mp3 .ogg .wav .wma)
|
||||
IMAGE_FILE_EXTENSIONS = %w(.bmp .gif .jpeg .jpg .png)
|
||||
@ -24,9 +25,7 @@ class FileType < ActiveRecord::Base
|
||||
end
|
||||
|
||||
def set_default_values
|
||||
self.binary ||= false if has_attribute?(:binary)
|
||||
self.executable ||= false if has_attribute?(:executable)
|
||||
self.renderable ||= false if has_attribute?(:renderable)
|
||||
set_default_values_if_present(binary: false, executable: false, renderable: false)
|
||||
end
|
||||
private :set_default_values
|
||||
|
||||
|
Reference in New Issue
Block a user