From 040a638ab953f919c3ea9836e541054d59ce5b3d Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Mon, 28 Jul 2025 04:54:29 -0400 Subject: [PATCH] Fix `Style/GuardClause` in `Tag` (#35522) --- app/models/tag.rb | 9 +++++---- spec/models/tag_spec.rb | 2 ++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/models/tag.rb b/app/models/tag.rb index 8e21ddca82b..dff10111123 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -164,9 +164,10 @@ class Tag < ApplicationRecord end def validate_display_name_change - unless HashtagNormalizer.new.normalize(display_name).casecmp(name).zero? - errors.add(:display_name, - I18n.t('tags.does_not_match_previous_name')) - end + errors.add(:display_name, I18n.t('tags.does_not_match_previous_name')) unless display_name_matches_name? + end + + def display_name_matches_name? + HashtagNormalizer.new.normalize(display_name).casecmp(name).zero? end end diff --git a/spec/models/tag_spec.rb b/spec/models/tag_spec.rb index 0831ac34b8b..18378c000d2 100644 --- a/spec/models/tag_spec.rb +++ b/spec/models/tag_spec.rb @@ -17,6 +17,7 @@ RSpec.describe Tag do subject { Fabricate :tag, name: 'original' } it { is_expected.to_not allow_value('changed').for(:name).with_message(previous_name_error_message) } + it { is_expected.to allow_value('ORIGINAL').for(:name) } end end @@ -31,6 +32,7 @@ RSpec.describe Tag do subject { Fabricate :tag, name: 'original', display_name: 'OriginalDisplayName' } it { is_expected.to_not allow_value('ChangedDisplayName').for(:display_name).with_message(previous_name_error_message) } + it { is_expected.to allow_value('ORIGINAL').for(:display_name) } end end