From 6c6d1322a0a6d994efb3ce4fd4cefcfeed83d8f2 Mon Sep 17 00:00:00 2001 From: Manny Dinssa <44172848+Dinssa@users.noreply.github.com> Date: Mon, 7 Oct 2024 09:48:25 +0100 Subject: [PATCH] Improve readability --- app/helpers/formatting_helper.rb | 13 ++++++++----- app/models/form/question.rb | 2 +- .../bulk_upload/lettings/year2023/row_parser.rb | 8 ++++---- .../bulk_upload/lettings/year2024/row_parser.rb | 8 ++++---- .../bulk_upload/sales/year2023/row_parser.rb | 8 ++++---- .../bulk_upload/sales/year2024/row_parser.rb | 8 ++++---- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/app/helpers/formatting_helper.rb b/app/helpers/formatting_helper.rb index 1f692a994..edf6b624d 100644 --- a/app/helpers/formatting_helper.rb +++ b/app/helpers/formatting_helper.rb @@ -1,13 +1,16 @@ module FormattingHelper - def ensure_punctuation(value) + def format_ending(value) return value if value.blank? - value.match?(/[[:punct:]]\z/) && !value.match?(/[%(){}\[\]]\z/) ? value : "#{value}." + ends_with_any_punctuation = value.match?(/[[:punct:]]\z/) + ends_with_special_char = value.match?(/[%(){}\[\]]\z/) + + ends_with_any_punctuation && !ends_with_special_char ? value : "#{value}." end - def downcase_first_letter(sentence) - return sentence if sentence.blank? + def downcase_first_letter(text) + return text if text.blank? - sentence[0].downcase + sentence[1..] + text[0].downcase + text[1..] end end diff --git a/app/models/form/question.rb b/app/models/form/question.rb index 74c9f9d3f..d5d2b7f36 100644 --- a/app/models/form/question.rb +++ b/app/models/form/question.rb @@ -207,7 +207,7 @@ class Form::Question def error_display_label label = error_label || check_answer_label || header || id.humanize - ensure_punctuation(label) + format_ending(label) end def unanswered_error_message diff --git a/app/services/bulk_upload/lettings/year2023/row_parser.rb b/app/services/bulk_upload/lettings/year2023/row_parser.rb index 782943492..8c1d11ba5 100644 --- a/app/services/bulk_upload/lettings/year2023/row_parser.rb +++ b/app/services/bulk_upload/lettings/year2023/row_parser.rb @@ -544,9 +544,9 @@ private fields.each do |field| if setup_question?(question) - errors.add(field, I18n.t("validations.invalid_option", question: ensure_punctuation(downcase(QUESTIONS[field]))), category: :setup) + errors.add(field, I18n.t("validations.invalid_option", question: format_ending(downcase(QUESTIONS[field]))), category: :setup) else - errors.add(field, I18n.t("validations.invalid_option", question: ensure_punctuation(downcase(QUESTIONS[field])))) + errors.add(field, I18n.t("validations.invalid_option", question: format_ending(downcase(QUESTIONS[field])))) end end end @@ -1608,7 +1608,7 @@ private field_127.present? ? 1 : 0 end - def downcase(sentence) - downcase_first_letter(sentence) + def downcase(text) + downcase_first_letter(text) end end diff --git a/app/services/bulk_upload/lettings/year2024/row_parser.rb b/app/services/bulk_upload/lettings/year2024/row_parser.rb index ec1fef50c..4c9664a77 100644 --- a/app/services/bulk_upload/lettings/year2024/row_parser.rb +++ b/app/services/bulk_upload/lettings/year2024/row_parser.rb @@ -568,9 +568,9 @@ private fields.each do |field| if setup_question?(question) - errors.add(field, I18n.t("validations.invalid_option", question: ensure_punctuation(downcase(QUESTIONS[field]))), category: :setup) + errors.add(field, I18n.t("validations.invalid_option", question: format_ending(downcase(QUESTIONS[field]))), category: :setup) else - errors.add(field, I18n.t("validations.invalid_option", question: ensure_punctuation(downcase(QUESTIONS[field])))) + errors.add(field, I18n.t("validations.invalid_option", question: format_ending(downcase(QUESTIONS[field])))) end end end @@ -1643,7 +1643,7 @@ private Organisation.find(bulk_upload.organisation_id) end - def downcase(sentence) - downcase_first_letter(sentence) + def downcase(text) + downcase_first_letter(text) end end diff --git a/app/services/bulk_upload/sales/year2023/row_parser.rb b/app/services/bulk_upload/sales/year2023/row_parser.rb index ed42445b0..c90003d15 100644 --- a/app/services/bulk_upload/sales/year2023/row_parser.rb +++ b/app/services/bulk_upload/sales/year2023/row_parser.rb @@ -1271,13 +1271,13 @@ private fields.each do |field| if errors[field].none? block_log_creation! - errors.add(field, I18n.t("validations.invalid_option", question: ensure_punctuation(downcase(QUESTIONS[field]))), category: :setup) + errors.add(field, I18n.t("validations.invalid_option", question: format_ending(downcase(QUESTIONS[field]))), category: :setup) end end else fields.each do |field| unless errors.any? { |e| fields.include?(e.attribute) } - errors.add(field, I18n.t("validations.invalid_option", question: ensure_punctuation(downcase(QUESTIONS[field])))) + errors.add(field, I18n.t("validations.invalid_option", question: format_ending(downcase(QUESTIONS[field])))) end end end @@ -1336,7 +1336,7 @@ private end end - def downcase(sentence) - downcase_first_letter(sentence) + def downcase(text) + downcase_first_letter(text) end end diff --git a/app/services/bulk_upload/sales/year2024/row_parser.rb b/app/services/bulk_upload/sales/year2024/row_parser.rb index 3607e8c05..a650ece92 100644 --- a/app/services/bulk_upload/sales/year2024/row_parser.rb +++ b/app/services/bulk_upload/sales/year2024/row_parser.rb @@ -1407,13 +1407,13 @@ private fields.each do |field| if errors[field].none? block_log_creation! - errors.add(field, I18n.t("validations.invalid_option", question: ensure_punctuation(downcase(QUESTIONS[field]))), category: :setup) + errors.add(field, I18n.t("validations.invalid_option", question: format_ending(downcase(QUESTIONS[field]))), category: :setup) end end else fields.each do |field| unless errors.any? { |e| fields.include?(e.attribute) } - errors.add(field, I18n.t("validations.invalid_option", question: ensure_punctuation(downcase(QUESTIONS[field])))) + errors.add(field, I18n.t("validations.invalid_option", question: format_ending(downcase(QUESTIONS[field])))) end end end @@ -1510,7 +1510,7 @@ private Organisation.find(bulk_upload.organisation_id) end - def downcase(sentence) - downcase_first_letter(sentence) + def downcase(text) + downcase_first_letter(text) end end