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