extracted boolean validation logic into stand-alone validator
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
require File.expand_path('../../../uploaders/file_uploader', __FILE__)
|
||||
require File.expand_path('../../../../lib/active_model/validations/boolean_presence_validator', __FILE__)
|
||||
|
||||
module CodeOcean
|
||||
class File < ActiveRecord::Base
|
||||
@ -35,9 +36,9 @@ module CodeOcean
|
||||
validates :feedback_message, absence: true, unless: :teacher_defined_test?
|
||||
validates :file_type_id, presence: true
|
||||
validates :hashed_content, if: :content_present?, presence: true
|
||||
validates :hidden, inclusion: {in: [true, false]}
|
||||
validates :hidden, boolean_presence: true
|
||||
validates :name, presence: true
|
||||
validates :read_only, inclusion: {in: [true, false]}
|
||||
validates :read_only, boolean_presence: true
|
||||
validates :role, inclusion: {in: ROLES}
|
||||
validates :weight, if: :teacher_defined_test?, numericality: true, presence: true
|
||||
validates :weight, absence: true, unless: :teacher_defined_test?
|
||||
|
@ -1,3 +1,5 @@
|
||||
require File.expand_path('../../../lib/active_model/validations/boolean_presence_validator', __FILE__)
|
||||
|
||||
class ExecutionEnvironment < ActiveRecord::Base
|
||||
include Creation
|
||||
include DefaultValues
|
||||
@ -16,7 +18,7 @@ class ExecutionEnvironment < ActiveRecord::Base
|
||||
validate :working_docker_image?, if: :validate_docker_image?
|
||||
validates :docker_image, presence: true
|
||||
validates :memory_limit, numericality: {greater_than_or_equal_to: DockerClient::MINIMUM_MEMORY_LIMIT, only_integer: true}, presence: true
|
||||
validates :network_enabled, inclusion: {in: [true, false]}
|
||||
validates :network_enabled, boolean_presence: true
|
||||
validates :name, presence: true
|
||||
validates :permitted_execution_time, numericality: {only_integer: true}, presence: true
|
||||
validates :pool_size, numericality: {only_integer: true}, presence: true
|
||||
|
@ -1,3 +1,5 @@
|
||||
require File.expand_path('../../../lib/active_model/validations/boolean_presence_validator', __FILE__)
|
||||
|
||||
class Exercise < ActiveRecord::Base
|
||||
include Context
|
||||
include Creation
|
||||
@ -16,7 +18,7 @@ class Exercise < ActiveRecord::Base
|
||||
validate :valid_main_file?
|
||||
validates :description, presence: true
|
||||
validates :execution_environment_id, presence: true
|
||||
validates :public, inclusion: {in: [true, false]}
|
||||
validates :public, boolean_presence: true
|
||||
validates :title, presence: true
|
||||
validates :token, presence: true, uniqueness: true
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
require File.expand_path('../../../lib/active_model/validations/boolean_presence_validator', __FILE__)
|
||||
|
||||
class FileType < ActiveRecord::Base
|
||||
include Creation
|
||||
include DefaultValues
|
||||
@ -11,12 +13,12 @@ class FileType < ActiveRecord::Base
|
||||
has_many :execution_environments
|
||||
has_many :files
|
||||
|
||||
validates :binary, inclusion: {in: [true, false]}
|
||||
validates :binary, boolean_presence: true
|
||||
validates :editor_mode, presence: true, unless: :binary?
|
||||
validates :executable, inclusion: {in: [true, false]}
|
||||
validates :executable, boolean_presence: true
|
||||
validates :indent_size, presence: true, unless: :binary?
|
||||
validates :name, presence: true
|
||||
validates :renderable, inclusion: {in: [true, false]}
|
||||
validates :renderable, boolean_presence: true
|
||||
|
||||
[:audio, :image, :video].each do |type|
|
||||
define_method("#{type}?") do
|
||||
|
Reference in New Issue
Block a user