]> source.dussan.org Git - redmine.git/commitdiff
Fixes for Performance/StringIdentifierArgument introduced in RuboCop Performance...
authorGo MAEDA <maeda@farend.jp>
Wed, 29 Dec 2021 06:12:27 +0000 (06:12 +0000)
committerGo MAEDA <maeda@farend.jp>
Wed, 29 Dec 2021 06:12:27 +0000 (06:12 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@21330 e93f8b46-1217-0410-a6f0-8f06a7374b81

17 files changed:
app/controllers/gantts_controller.rb
app/models/issue.rb
app/models/journal.rb
app/models/query.rb
lib/redmine/field_format.rb
lib/redmine/scm/adapters/abstract_adapter.rb
lib/redmine/utils.rb
test/functional/issues_controller_test.rb
test/functional/my_controller_test.rb
test/functional/projects_controller_test.rb
test/functional/roles_controller_test.rb
test/functional/timelog_controller_test.rb
test/integration/lib/redmine/field_format/attachment_format_test.rb
test/unit/journal_test.rb
test/unit/lib/redmine/helpers/gantt_test.rb
test/unit/lib/redmine/safe_attributes_test.rb
test/unit/query_test.rb

index 303fe3590db095c0d0d07e1d49fd7fdee8c262d3..548fecc5f31e080cc553474072448faa5e6790c8 100644 (file)
@@ -41,7 +41,7 @@ class GanttsController < ApplicationController
 
     respond_to do |format|
       format.html {render :action => "show", :layout => !request.xhr?}
-      if @gantt.respond_to?('to_image')
+      if @gantt.respond_to?(:to_image)
         format.png do
           send_data(@gantt.to_image,
                     :disposition => 'inline', :type => 'image/png',
index 1f12d79487543e4e5fd5e7e3693d93ab27e07152..832cd9b4a9c88395cc77489c01db3f40a20d4c71 100644 (file)
@@ -1179,7 +1179,7 @@ class Issue < ActiveRecord::Base
         ).all
       issues.each do |issue|
         issue.instance_variable_set(
-          "@relations",
+          :@relations,
           relations.select {|r| r.issue_from_id == issue.id || r.issue_to_id == issue.id}
         )
       end
@@ -1191,7 +1191,7 @@ class Issue < ActiveRecord::Base
     if issues.any?
       hours_by_issue_id = TimeEntry.visible(user).where(:issue_id => issues.map(&:id)).group(:issue_id).sum(:hours)
       issues.each do |issue|
-        issue.instance_variable_set "@spent_hours", (hours_by_issue_id[issue.id] || 0.0)
+        issue.instance_variable_set :@spent_hours, (hours_by_issue_id[issue.id] || 0.0)
       end
     end
   end
@@ -1204,7 +1204,7 @@ class Issue < ActiveRecord::Base
           " AND parent.lft <= #{Issue.table_name}.lft AND parent.rgt >= #{Issue.table_name}.rgt").
         where("parent.id IN (?)", issues.map(&:id)).group("parent.id").sum(:hours)
       issues.each do |issue|
-        issue.instance_variable_set "@total_spent_hours", (hours_by_issue_id[issue.id] || 0.0)
+        issue.instance_variable_set :@total_spent_hours, (hours_by_issue_id[issue.id] || 0.0)
       end
     end
   end
@@ -1225,7 +1225,7 @@ class Issue < ActiveRecord::Base
           relations_from.select {|relation| relation.issue_from_id == issue.id} +
           relations_to.select {|relation| relation.issue_to_id == issue.id}
 
-        issue.instance_variable_set "@relations", IssueRelation::Relations.new(issue, relations.sort)
+        issue.instance_variable_set :@relations, IssueRelation::Relations.new(issue, relations.sort)
       end
     end
   end
@@ -1254,7 +1254,7 @@ class Issue < ActiveRecord::Base
 
       issues.each do |issue|
         journal = journals.detect {|j| j.journalized_id == issue.id}
-        issue.instance_variable_set("@last_updated_by", journal.try(:user) || '')
+        issue.instance_variable_set(:@last_updated_by, journal.try(:user) || '')
       end
     end
   end
@@ -1274,7 +1274,7 @@ class Issue < ActiveRecord::Base
 
       issues.each do |issue|
         journal = journals.detect {|j| j.journalized_id == issue.id}
-        issue.instance_variable_set("@last_notes", journal.try(:notes) || '')
+        issue.instance_variable_set(:@last_notes, journal.try(:notes) || '')
       end
     end
   end
index f42394bc91c027f1020bc0bcf5162ce0c40497b2..394a249a6248b87bb718d7d442d6a93f9bfa95d5 100644 (file)
@@ -190,7 +190,7 @@ class Journal < ActiveRecord::Base
       journals.each do |journal|
         journal.details.each do |detail|
           if detail.property == 'cf'
-            detail.instance_variable_set "@custom_field", fields_by_id[detail.prop_key.to_i]
+            detail.instance_variable_set :@custom_field, fields_by_id[detail.prop_key.to_i]
           end
         end
       end
index 8d5f55061e158f4be9f62def03f81922630129d8..d21d1409f2514fb3ffb96275dcec815b9b45d278 100644 (file)
@@ -1095,7 +1095,7 @@ class Query < ActiveRecord::Base
     end
     if column.is_a?(QueryCustomFieldColumn)
       custom_field = column.custom_field
-      send "total_for_custom_field", custom_field, scope
+      send :total_for_custom_field, custom_field, scope
     else
       send "total_for_#{column.name}", scope
     end
index 9ca0a644d6c8e7b0d4d9342ccf7ca5b81f7b9de2..a2f0e2a34d1d6ab7119e2100fd28ddd21c673d7b 100644 (file)
@@ -997,7 +997,7 @@ module Redmine
         elsif value.is_a?(String)
           value = set_custom_field_value_by_id(custom_field, custom_field_value, value)
         end
-        custom_field_value.instance_variable_set "@attachment_present", attachment_present
+        custom_field_value.instance_variable_set :@attachment_present, attachment_present
 
         value
       end
@@ -1021,7 +1021,7 @@ module Redmine
         errors = []
 
         if custom_value.value.blank?
-          if custom_value.instance_variable_get("@attachment_present")
+          if custom_value.instance_variable_get(:@attachment_present)
             errors << ::I18n.t('activerecord.errors.messages.invalid')
           end
         else
index 4c12f4a1398f76234507cb2660bde522856129dd..c1102fc7305f2db9a1baf8dff511070d42ea1f8d 100644 (file)
@@ -86,7 +86,7 @@ module Redmine
         end
 
         def supports_annotate?
-          respond_to?('annotate')
+          respond_to?(:annotate)
         end
 
         def root_url
index 386919a25bfd6a02f707542f16b2bba538768306..dd0622fee4e61561d851a0f7162455534020b52b 100644 (file)
@@ -26,7 +26,7 @@ module Redmine
     class << self
       # Returns the relative root url of the application
       def relative_url_root
-        if ActionController::Base.respond_to?('relative_url_root')
+        if ActionController::Base.respond_to?(:relative_url_root)
           ActionController::Base.relative_url_root.to_s
         else
           ActionController::Base.config.relative_url_root.to_s
@@ -35,7 +35,7 @@ module Redmine
 
       # Sets the relative root url of the application
       def relative_url_root=(arg)
-        if ActionController::Base.respond_to?('relative_url_root=')
+        if ActionController::Base.respond_to?(:relative_url_root=)
           ActionController::Base.relative_url_root=arg
         else
           ActionController::Base.config.relative_url_root = arg
index 52b63f1e00996ff6f4bd356e215e01d32a221350..2348c462ea4f299dd91e42d2e8d4f2daee2a9176 100644 (file)
@@ -2375,11 +2375,11 @@ class IssuesControllerTest < Redmine::ControllerTest
     assert_select 'div#issue_tree span.issues-stat' do
       assert_select 'span.badge', text: '4'
       assert_select 'span.open a', text: '3 open'
-      assert_equal CGI.unescape(css_select('span.open a').first.attr('href')),
+      assert_equal CGI.unescape(css_select('span.open a').first.attr(:href)),
                    "/issues?parent_id=~1&set_filter=true&status_id=o"
 
       assert_select 'span.closed a', text: '1 closed'
-      assert_equal CGI.unescape(css_select('span.closed a').first.attr('href')),
+      assert_equal CGI.unescape(css_select('span.closed a').first.attr(:href)),
                    "/issues?parent_id=~1&set_filter=true&status_id=c"
     end
   end
@@ -2392,7 +2392,7 @@ class IssuesControllerTest < Redmine::ControllerTest
 
     assert_select 'div#issue_tree span.issues-stat' do
       assert_select 'span.open a', text: '1 open'
-      assert_equal CGI.unescape(css_select('span.open a').first.attr('href')),
+      assert_equal CGI.unescape(css_select('span.open a').first.attr(:href)),
                    "/issues?parent_id=~1&set_filter=true&status_id=o"
       assert_select 'span.closed', text: '0 closed'
       assert_select 'span.closed a', 0
index 6e93e3303b99ad56c56abe497154cae112c26665..cc0be81c7b3b56c1455fbdc0176bbe2d5bffbb54 100644 (file)
@@ -265,7 +265,7 @@ class MyControllerTest < Redmine::ControllerTest
 
     assert_response :success
     assert_select '#block-issuesupdatedbyme' do
-      report_url = CGI.unescape(css_select('h3 a').first.attr('href'))
+      report_url = CGI.unescape(css_select('h3 a').first.attr(:href))
       assert_match 'f[]=project.status', report_url
       assert_match 'v[project.status][]=1', report_url
       assert_match 'f[]=updated_by', report_url
@@ -306,7 +306,7 @@ class MyControllerTest < Redmine::ControllerTest
 
     assert_response :success
     assert_select '#block-issuesassignedtome table.issues tbody' do
-      report_url = css_select('h3 a').map {|e| e.attr('href')}.first
+      report_url = css_select('h3 a').map {|e| e.attr(:href)}.first
       assert_match 'f%5B%5D=project.status', report_url
       assert_match 'v%5Bproject.status%5D%5B%5D=1', report_url
 
@@ -334,7 +334,7 @@ class MyControllerTest < Redmine::ControllerTest
 
     assert_response :success
     assert_select '#block-issuesreportedbyme' do
-      report_url = css_select('h3 a').map {|e| e.attr('href')}.first
+      report_url = css_select('h3 a').map {|e| e.attr(:href)}.first
       assert_match 'f%5B%5D=project.status', report_url
       assert_match 'v%5Bproject.status%5D%5B%5D=1', report_url
 
@@ -366,7 +366,7 @@ class MyControllerTest < Redmine::ControllerTest
 
     assert_response :success
     assert_select '#block-issueswatched table.issues tbody' do
-      report_url = css_select('h3 a').map {|e| e.attr('href')}.first
+      report_url = css_select('h3 a').map {|e| e.attr(:href)}.first
       assert_match 'f%5B%5D=project.status', report_url
       assert_match 'v%5Bproject.status%5D%5B%5D=1', report_url
 
index a26793a20821a05ef0c32aefc218b090fdc1be93..38d70150cdd1a1aa0e5bb56bdf12e8b785ceb639 100644 (file)
@@ -139,8 +139,8 @@ class ProjectsControllerTest < Redmine::ControllerTest
     }
     assert_response :success
 
-    child_level1 = css_select('tr#project-5').map {|e| e.attr('class')}.first.split(' ')
-    child_level2 = css_select('tr#project-6').map {|e| e.attr('class')}.first.split(' ')
+    child_level1 = css_select('tr#project-5').map {|e| e.attr(:class)}.first.split(' ')
+    child_level2 = css_select('tr#project-6').map {|e| e.attr(:class)}.first.split(' ')
 
     assert_include 'idnt', child_level1
     assert_include 'idnt-1', child_level1
index c1bb859a4f684f9717eedf9aa44393f84fc401af..20baae6f930b40f5ffd53c9503ee9f9196045254 100644 (file)
@@ -71,7 +71,7 @@ class RolesControllerTest < Redmine::ControllerTest
     assert_response :success
     assert_equal(
       %w(view_documents view_issues),
-      css_select('input[name="role[permissions][]"][checked=checked]').map {|e| e.attr('value')}.sort
+      css_select('input[name="role[permissions][]"][checked=checked]').map {|e| e.attr(:value)}.sort
     )
   end
 
index b1a4899cc452c7a93c58237392b0c2b549171a0a..bdfbf0cfc332e47de2c7ad51be33c61b4774d3b6 100644 (file)
@@ -1165,7 +1165,7 @@ class TimelogControllerTest < Redmine::ControllerTest
     assert_response :success
     assert_equal(
       [t2, t1, t3].map(&:id).map(&:to_s),
-      css_select('input[name="ids[]"]').map {|e| e.attr('value')}
+      css_select('input[name="ids[]"]').map {|e| e.attr(:value)}
     )
     get(
       :index,
@@ -1180,7 +1180,7 @@ class TimelogControllerTest < Redmine::ControllerTest
     assert_response :success
     assert_equal(
       [t3, t1, t2].map(&:id).map(&:to_s),
-      css_select('input[name="ids[]"]').map {|e| e.attr('value')}
+      css_select('input[name="ids[]"]').map {|e| e.attr(:value)}
     )
   end
 
@@ -1206,7 +1206,7 @@ class TimelogControllerTest < Redmine::ControllerTest
       get :index, :params => params.dup.merge(sort_criteria)
       assert_response :success
       expected_ids = expected.map(&:id).map(&:to_s)
-      actual_ids = css_select('input[name="ids[]"]').map {|e| e.attr('value')}
+      actual_ids = css_select('input[name="ids[]"]').map {|e| e.attr(:value)}
       assert_equal expected_ids, actual_ids
     end
   end
@@ -1242,7 +1242,7 @@ class TimelogControllerTest < Redmine::ControllerTest
       }
     )
     assert_response :success
-    assert_equal [entry].map(&:id).map(&:to_s), css_select('input[name="ids[]"]').map {|e| e.attr('value')}
+    assert_equal [entry].map(&:id).map(&:to_s), css_select('input[name="ids[]"]').map {|e| e.attr(:value)}
   end
 
   def test_index_with_project_status_filter
@@ -1261,7 +1261,7 @@ class TimelogControllerTest < Redmine::ControllerTest
     )
     assert_response :success
 
-    time_entries = css_select('input[name="ids[]"]').map {|e| e.attr('value')}
+    time_entries = css_select('input[name="ids[]"]').map {|e| e.attr(:value)}
     assert_include '1', time_entries
     assert_not_include '4', time_entries
   end
@@ -1308,7 +1308,7 @@ class TimelogControllerTest < Redmine::ControllerTest
       :v => {'issue.tracker_id' => ['2']}
     }
     assert_response :success
-    assert_equal [entry].map(&:id).map(&:to_s), css_select('input[name="ids[]"]').map {|e| e.attr('value')}
+    assert_equal [entry].map(&:id).map(&:to_s), css_select('input[name="ids[]"]').map {|e| e.attr(:value)}
   end
 
   def test_index_with_issue_tracker_column
@@ -1348,7 +1348,7 @@ class TimelogControllerTest < Redmine::ControllerTest
       :v => {'issue.category_id' => ['1']}
     }
     assert_response :success
-    assert_equal ['1', '2'], css_select('input[name="ids[]"]').map {|e| e.attr('value')}
+    assert_equal ['1', '2'], css_select('input[name="ids[]"]').map {|e| e.attr(:value)}
   end
 
   def test_index_with_issue_category_column
@@ -1383,7 +1383,7 @@ class TimelogControllerTest < Redmine::ControllerTest
       :v => {'author_id' => ['2']}
     }
     assert_response :success
-    assert_equal ['1'], css_select('input[name="ids[]"]').map {|e| e.attr('value')}
+    assert_equal ['1'], css_select('input[name="ids[]"]').map {|e| e.attr(:value)}
   end
 
   def test_index_with_author_column
@@ -1447,7 +1447,7 @@ class TimelogControllerTest < Redmine::ControllerTest
     assert_response :success
     assert_equal(
       [entry].map(&:id).map(&:to_s),
-      css_select('input[name="ids[]"]').map {|e| e.attr('value')}
+      css_select('input[name="ids[]"]').map {|e| e.attr(:value)}
     )
   end
 
index 414e1c159211b5a815ded8a3a101e941b3ca0601..f4d191d48519f71b73fb7f6e1da71bbfcb8a6564 100644 (file)
@@ -86,10 +86,10 @@ class AttachmentFieldFormatTest < Redmine::IntegrationTest
     # link to the attachment
     link = css_select(".cf_#{@field.id} .value a:not(.icon-download)")
     assert_equal 1, link.size
-    assert_equal "testfile.txt", link.text
+    assert_equal "testfile.txt", link.first.text
 
     # preview the attachment
-    get link.attr('href')
+    get link.first.attr(:href)
     assert_response :success
     assert_select 'h2', :text => "#{issue.tracker} ##{issue.id} ยป testfile.txt"
   end
index 345d64aba5efcb59ef160c43c49cd1b53b0af5fa..d6abd1aec18b3bd6ae1610a00483c59586f1f4ab 100644 (file)
@@ -165,7 +165,7 @@ class JournalTest < ActiveSupport::TestCase
     d = JournalDetail.new(:property => 'cf', :prop_key => '2')
     journals = [Journal.new(:details => [d])]
 
-    d.expects(:instance_variable_set).with("@custom_field", CustomField.find(2)).once
+    d.expects(:instance_variable_set).with(:@custom_field, CustomField.find(2)).once
     Journal.preload_journals_details_custom_fields(journals)
   end
 
index 8d82523463f64b6b4187c23092e9169de67db4e5..b7237325cf838a6d1b1e9569898cbbcfdad9b59b 100644 (file)
@@ -58,8 +58,8 @@ class Redmine::Helpers::GanttHelperTest < Redmine::HelperTest
     @gantt.project = @project
     @gantt.query = IssueQuery.new(:project => @project, :name => 'Gantt')
     @gantt.view = self
-    @gantt.instance_variable_set('@date_from', options[:date_from] || (today - 14))
-    @gantt.instance_variable_set('@date_to', options[:date_to] || (today + 14))
+    @gantt.instance_variable_set(:@date_from, options[:date_from] || (today - 14))
+    @gantt.instance_variable_set(:@date_to, options[:date_to] || (today + 14))
   end
   private :create_gantt
 
index 64a215870e480fb754e31f18aed4b1faccf82c2a..edad6212b9d3dd03440bb5251ccceabc9226a0d9 100644 (file)
@@ -73,14 +73,14 @@ class Redmine::SafeAttributesTest < ActiveSupport::TestCase
 
   def test_set_safe_attributes
     p = Person.new
-    p.send('safe_attributes=', {'firstname' => 'John', 'lastname' => 'Smith', 'login' => 'jsmith'}, User.anonymous)
+    p.send(:safe_attributes=, {'firstname' => 'John', 'lastname' => 'Smith', 'login' => 'jsmith'}, User.anonymous)
     assert_equal 'John', p.firstname
     assert_equal 'Smith', p.lastname
     assert_nil p.login
 
     p = Person.new
     User.current = User.find(1)
-    p.send('safe_attributes=', {'firstname' => 'John', 'lastname' => 'Smith', 'login' => 'jsmith'}, User.find(1))
+    p.send(:safe_attributes=, {'firstname' => 'John', 'lastname' => 'Smith', 'login' => 'jsmith'}, User.find(1))
     assert_equal 'John', p.firstname
     assert_equal 'Smith', p.lastname
     assert_equal 'jsmith', p.login
index 632335a9176aebc5599986f42f8646f498380b0f..ff11ec62ca74ac82d889579e156221a8e602d42f 100644 (file)
@@ -1686,7 +1686,7 @@ class QueryTest < ActiveSupport::TestCase
     q = IssueQuery.new(:name => '_', :column_names => [:subject, :spent_hours])
     assert q.has_column?(:spent_hours)
     issues = q.issues
-    assert_not_nil issues.first.instance_variable_get("@spent_hours")
+    assert_not_nil issues.first.instance_variable_get(:@spent_hours)
   end
 
   def test_query_should_preload_last_updated_by
@@ -1696,7 +1696,7 @@ class QueryTest < ActiveSupport::TestCase
       assert q.has_column?(:last_updated_by)
 
       issues = q.issues.sort_by(&:id)
-      assert issues.all? {|issue| !issue.instance_variable_get("@last_updated_by").nil?}
+      assert issues.all? {|issue| !issue.instance_variable_get(:@last_updated_by).nil?}
       assert_equal ["User", "User", "NilClass"], issues.map {|i| i.last_updated_by.class.name}
       assert_equal ["John Smith", "John Smith", ""], issues.map {|i| i.last_updated_by.to_s}
     end
@@ -1706,7 +1706,7 @@ class QueryTest < ActiveSupport::TestCase
     q = IssueQuery.new(:name => '_', :column_names => [:subject, :last_notes])
     assert q.has_column?(:last_notes)
     issues = q.issues
-    assert_not_nil issues.first.instance_variable_get("@last_notes")
+    assert_not_nil issues.first.instance_variable_get(:@last_notes)
   end
 
   def test_groupable_columns_should_include_custom_fields