]> source.dussan.org Git - redmine.git/commitdiff
Fix RuboCop offense Performance/ConstantRegexp (#38146).
authorGo MAEDA <maeda@farend.jp>
Wed, 11 Jan 2023 13:26:31 +0000 (13:26 +0000)
committerGo MAEDA <maeda@farend.jp>
Wed, 11 Jan 2023 13:26:31 +0000 (13:26 +0000)
git-svn-id: https://svn.redmine.org/redmine/trunk@22029 e93f8b46-1217-0410-a6f0-8f06a7374b81

.rubocop_todo.yml
app/models/changeset.rb
lib/redmine/scm/adapters/cvs_adapter.rb
lib/redmine/wiki_formatting/textile/formatter.rb
lib/redmine/wiki_formatting/textile/redcloth3.rb

index 2ed0864d475cc18c34f13d7d85798906c492c557..158ac872128125c336717ee65948a448a06ac2e1 100644 (file)
@@ -486,14 +486,6 @@ Naming/VariableNumber:
     - 'test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb'
     - 'test/unit/project_test.rb'
 
-# This cop supports safe autocorrection (--autocorrect).
-Performance/ConstantRegexp:
-  Exclude:
-    - 'app/models/changeset.rb'
-    - 'lib/redmine/scm/adapters/cvs_adapter.rb'
-    - 'lib/redmine/wiki_formatting/textile/formatter.rb'
-    - 'lib/redmine/wiki_formatting/textile/redcloth3.rb'
-
 Performance/FixedSize:
   Exclude:
     - 'test/integration/api_test/issues_test.rb'
index a41ffda8248117e2435f8406e8a03aa8b42b9018..535335ef8d739dfe63d13712467d3e8a7b09ad55 100644 (file)
@@ -144,7 +144,7 @@ class Changeset < ActiveRecord::Base
       refs   = match[3]
       next unless action.present? || ref_keywords_any
 
-      refs.scan(/#(\d+)(\s+@#{TIMELOG_RE})?/).each do |m|
+      refs.scan(/#(\d+)(\s+@#{TIMELOG_RE})?/o).each do |m|
         issue = find_referenced_issue_by_id(m[0].to_i)
         hours = m[2]
         if issue && !issue_linked_to_same_commit?(issue)
index e5cb524ab759d9484b7c100aeed95ffcc813ec05..9436562f746376abcd686c06fa426185002aacb7 100644 (file)
@@ -179,7 +179,7 @@ module Redmine
             file_state = nil
             branch_map = nil
             io.each_line() do |line|
-              if state != "revision" && /^#{ENDLOG}/.match?(line)
+              if state != "revision" && /^#{ENDLOG}/o.match?(line)
                 commit_log = ""
                 revision   = nil
                 state      = "entry_start"
@@ -194,7 +194,7 @@ module Redmine
                   entry_headRev = $1
                 elsif /^symbolic names:/.match?(line)
                   state = "symbolic"
-                elsif /^#{STARTLOG}/.match?(line)
+                elsif /^#{STARTLOG}/o.match?(line)
                   commit_log = ""
                   state      = "revision"
                 end
@@ -207,15 +207,15 @@ module Redmine
                   next
                 end
               elsif state == "tags"
-                if /^#{STARTLOG}/.match?(line)
+                if /^#{STARTLOG}/o.match?(line)
                   commit_log = ""
                   state = "revision"
-                elsif /^#{ENDLOG}/.match?(line)
+                elsif /^#{ENDLOG}/o.match?(line)
                   state = "head"
                 end
                 next
               elsif state == "revision"
-                if /^#{ENDLOG}/ =~ line || /^#{STARTLOG}/ =~ line
+                if /^#{ENDLOG}/o =~ line || /^#{STARTLOG}/o =~ line
                   if revision
                     revHelper = CvsRevisionHelper.new(revision)
                     revBranch = "HEAD"
@@ -245,7 +245,7 @@ module Redmine
                   end
                   commit_log = ""
                   revision   = nil
-                  if /^#{ENDLOG}/.match?(line)
+                  if /^#{ENDLOG}/o.match?(line)
                     state = "entry_start"
                   end
                   next
index 54686ca6d8743f5264773f90cc8da82e257422be..04464763ed17a6cdef73e62a227a5ba5f4646351 100644 (file)
@@ -57,7 +57,7 @@ module Redmine
           l = 1
           started = false
           ended = false
-          text.scan(/(((?:.*?)(\A|\r?\n\s*\r?\n))(h(\d+)(#{A}#{C})\.(?::(\S+))?[ \t](.*?)$)|.*)/m).each do |all, content, lf, heading, level|
+          text.scan(/(((?:.*?)(\A|\r?\n\s*\r?\n))(h(\d+)(#{A}#{C})\.(?::(\S+))?[ \t](.*?)$)|.*)/mo).each do |all, content, lf, heading, level|
             if heading.nil?
               if ended
                 after << all
index c292926a548e84a9906051eef222364f93c817c8..637f2883e5a17e77739ebc34a8926ee38ad58f6f 100644 (file)
@@ -532,10 +532,10 @@ class RedCloth3 < String
             rows = []
             fullrow.gsub!(/([^|\s])\s*\n/, "\\1<br />")
             fullrow.each_line do |row|
-                ratts, row = pba( $1, 'tr' ), $2 if row =~ /^(#{A}#{C}\. )(.*)/m
+                ratts, row = pba( $1, 'tr' ), $2 if row =~ /^(#{A}#{C}\. )(.*)/mo
                 cells = []
                 # the regexp prevents wiki links with a | from being cut as cells
-                row.scan(/\|(_?#{S}#{A}#{C}\. ?)?((\[\[[^|\]]*\|[^|\]]*\]\]|[^|])*?)(?=\|)/) do |modifiers, cell|
+                row.scan(/\|(_?#{S}#{A}#{C}\. ?)?((\[\[[^|\]]*\|[^|\]]*\]\]|[^|])*?)(?=\|)/o) do |modifiers, cell|
                     ctyp = 'd'
                     ctyp = 'h' if modifiers && modifiers =~ /^_/
 
@@ -791,7 +791,7 @@ class RedCloth3 < String
                 when :limit
                     sta,oqs,qtag,content,oqa = $~[1..6]
                     atts = nil
-                    if content =~ /^(#{C})(.+)$/
+                    if content =~ /^(#{C})(.+)$/o
                       atts, content = $~[1..2]
                     end
                 else
@@ -1100,7 +1100,7 @@ class RedCloth3 < String
                         ###   and it breaks following lines
                         htmlesc( aftertag, :NoQuotes ) if aftertag && escape_aftertag && !first.match(/<code\s+class="(\w+)">/)
                         line = +"<redpre##{@pre_list.length}>"
-                        first.match(/<#{OFFTAGS}([^>]*)>/)
+                        first.match(/<#{OFFTAGS}([^>]*)>/o)
                         tag = $1
                         $2.to_s.match(/(class\=("[^"]+"|'[^']+'))/i)
                         tag << " #{$1}" if $1 && tag == 'code'