From: Go MAEDA Date: Sat, 7 Sep 2024 06:34:35 +0000 (+0000) Subject: Refactor Calendar#first_wday method for improved readability and efficiency (#41188). X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=4675febf310a868aa6dd56ec129b1059e83f7099;p=redmine.git Refactor Calendar#first_wday method for improved readability and efficiency (#41188). git-svn-id: https://svn.redmine.org/redmine/trunk@23032 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 7eac207f6..3e4891904 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -178,10 +178,6 @@ Lint/AmbiguousRegexpLiteral: Lint/AssignmentInCondition: Enabled: false -Lint/BinaryOperatorWithIdenticalOperands: - Exclude: - - 'lib/redmine/helpers/calendar.rb' - # Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches. Lint/DuplicateBranch: Exclude: @@ -290,7 +286,6 @@ Naming/MemoizedInstanceVariableName: - 'app/models/query.rb' - 'app/models/role.rb' - 'lib/redmine/field_format.rb' - - 'lib/redmine/helpers/calendar.rb' - 'lib/redmine/search.rb' # Configuration parameters: EnforcedStyle, AllowedPatterns. diff --git a/lib/redmine/helpers/calendar.rb b/lib/redmine/helpers/calendar.rb index 69ed62b05..9f3962236 100644 --- a/lib/redmine/helpers/calendar.rb +++ b/lib/redmine/helpers/calendar.rb @@ -83,20 +83,19 @@ module Redmine # Return the first day of week # 1 = Monday ... 7 = Sunday def first_wday - case Setting.start_of_week.to_i - when 1 - @first_dow ||= (1 - 1)%7 + 1 - when 6 - @first_dow ||= (6 - 1)%7 + 1 - when 7 - @first_dow ||= (7 - 1)%7 + 1 - else - @first_dow ||= (l(:general_first_day_of_week).to_i - 1)%7 + 1 + @first_wday ||= begin + start_of_week = Setting.start_of_week.to_i + case start_of_week + when 1, 6, 7 + ((start_of_week - 1) % 7) + 1 + else + ((l(:general_first_day_of_week).to_i - 1) % 7) + 1 + end end end def last_wday - @last_dow ||= (first_wday + 5)%7 + 1 + @last_wday ||= ((first_wday + 5) % 7) + 1 end end end