Skip to content
Snippets Groups Projects

Add validation for length of short_description and description

2 files
+ 33
9
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -15,8 +15,8 @@ module Quby
def validate(definition)
questionnaire = DSL.build_from_definition(definition)
validate_metadata(questionnaire)
validate_fields(questionnaire)
validate_title(questionnaire)
validate_questions(questionnaire)
validate_scores(questionnaire)
validate_table_edgecases(questionnaire)
@@ -32,6 +32,20 @@ module Quby
backtrace: exception.backtrace[0..20]})
end
def validate_metadata(questionnaire)
if questionnaire.title.blank?
fail "Questionnaire title is missing."
end
if questionnaire.short_description && questionnaire.short_description.size > 255
fail "Questionnaire short_description is too long."
end
if questionnaire.description && questionnaire.description.size > 255
fail "Questionnaire description is too long."
end
end
def validate_fields(questionnaire)
questionnaire.fields.input_keys
.find { |k| !k.is_a?(Symbol) }
@@ -41,12 +55,6 @@ module Quby
&.tap { |k| fail "Answer key #{k} is not a symbol" }
end
def validate_title(questionnaire)
if questionnaire.title.blank?
fail "Questionnaire title is missing."
end
end
def validate_questions(questionnaire)
questionnaire.answer_keys.each do |key|
validate_key_format(key)
Loading