]> source.dussan.org Git - redmine.git/commitdiff
Replace Enumerable#sort with faster Enumerable#sort_by (#29299).
authorGo MAEDA <maeda@farend.jp>
Thu, 2 Aug 2018 21:54:21 +0000 (21:54 +0000)
committerGo MAEDA <maeda@farend.jp>
Thu, 2 Aug 2018 21:54:21 +0000 (21:54 +0000)
Patch by Go MAEDA.

git-svn-id: http://svn.redmine.org/redmine/trunk@17462 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/settings_controller.rb
app/helpers/activities_helper.rb
app/helpers/issue_relations_helper.rb
app/helpers/repositories_helper.rb
app/helpers/search_helper.rb
app/models/query.rb
lib/redmine/helpers/gantt.rb
lib/redmine/i18n.rb
lib/redmine/scm/adapters/mercurial_adapter.rb
lib/redmine/scm/adapters/subversion_adapter.rb
lib/tasks/permissions.rake

index f4109571f2230f546d409e905b7f13a46ead4b02..9985fa6eabb3b38cf702904216b2160e7e7dada3 100644 (file)
@@ -46,7 +46,7 @@ class SettingsController < ApplicationController
     end
 
     @options = {}
-    user_format = User::USER_FORMATS.collect{|key, value| [key, value[:setting_order]]}.sort{|a, b| a[1] <=> b[1]}
+    user_format = User::USER_FORMATS.collect{|key, value| [key, value[:setting_order]]}.sort_by{|f| f[1]}
     @options[:user_format] = user_format.collect{|f| [User.current.name(f[0]), f[0].to_s]}
     @deliveries = ActionMailer::Base.perform_deliveries
 
index 54e5580a2e2fa2b7a4634e846808c8826369a1b5..526709e4ab1cf3c8542c51dbfdd68bb87db03a87 100644 (file)
@@ -21,9 +21,9 @@ module ActivitiesHelper
   def sort_activity_events(events)
     events_by_group = events.group_by(&:event_group)
     sorted_events = []
-    events.sort {|x, y| y.event_datetime <=> x.event_datetime}.each do |event|
+    events.sort_by(&:event_datetime).reverse_each do |event|
       if group_events = events_by_group.delete(event.event_group)
-        group_events.sort {|x, y| y.event_datetime <=> x.event_datetime}.each_with_index do |e, i|
+        group_events.sort_by(&:event_datetime).reverse.each_with_index do |e, i|
           sorted_events << [e, i > 0]
         end
       end
index 6208e5600df2734d3d4050439305ff285f1a7691..a1b3b990aa4ff7fd1cd4bdc9a9f7e90e32d996a4 100644 (file)
@@ -20,6 +20,6 @@
 module IssueRelationsHelper
   def collection_for_relation_type_select
     values = IssueRelation::TYPES
-    values.keys.sort{|x,y| values[x][:order] <=> values[y][:order]}.collect{|k| [l(values[k][:name]), k]}
+    values.keys.sort_by{|k| values[k][:order]}.collect{|k| [l(values[k][:name]), k]}
   end
 end
index 435041b72dadac1cb1197d7e0b77d39b6af53b5a..59c97cdc58a954affcfea36cadc3a0a26b0e3cd8 100644 (file)
@@ -269,7 +269,7 @@ module RepositoriesHelper
         :href  => block_given? ? yield(commit.scmid) : commit.scmid
       }
     end
-    heads.sort! { |head1, head2| head1.to_s <=> head2.to_s }
+    heads.sort_by!(&:to_s)
     space = nil
     heads.each do |head|
       if commits_by_scmid.include? head.scmid
index 8788711e7d8ec64767ad1acbbfc29b1bccff1584..d7c483048acc249137b1c18d45e5a402179bae57 100644 (file)
@@ -55,7 +55,7 @@ module SearchHelper
   def render_results_by_type(results_by_type)
     links = []
     # Sorts types by results count
-    results_by_type.keys.sort {|a, b| results_by_type[b] <=> results_by_type[a]}.each do |t|
+    results_by_type.keys.sort_by {|k| results_by_type[k]}.reverse_each do |t|
       c = results_by_type[t]
       next if c == 0
       text = "#{type_label(t)} (#{c})"
index ed11bbffb8f6e4ccc4551be7f1a55da044f0ffae..e32dda8650a18436e80b79eb1997dc60c4c2a772 100644 (file)
@@ -118,7 +118,7 @@ class QueryCustomFieldColumn < QueryColumn
   def value_object(object)
     if custom_field.visible_by?(object.project, User.current)
       cv = object.custom_values.select {|v| v.custom_field_id == @cf.id}
-      cv.size > 1 ? cv.sort {|a,b| a.value.to_s <=> b.value.to_s} : cv.first
+      cv.size > 1 ? cv.sort_by {|e| e.value.to_s} : cv.first
     else
       nil
     end
index ca3b70b6f5a4e50369b365b3bda8cc8f741618f1..312a3133a42c755d87060e872aacf3d22715ab84 100644 (file)
@@ -619,7 +619,7 @@ module Redmine
       end
 
       def self.sort_issues!(issues)
-        issues.sort! {|a, b| sort_issue_logic(a) <=> sort_issue_logic(b)}
+        issues.sort_by! {|issue| sort_issue_logic(issue)}
       end
 
       def self.sort_issue_logic(issue)
index 43b74bb26da77ec18694839eac80586bf843ee54..300fb8b0660e240e9a9c72640012eaee069ad253 100644 (file)
@@ -120,7 +120,7 @@ module Redmine
         valid_languages.
           select {|locale| ::I18n.exists?(:general_lang_name, locale)}.
           map {|lang| [ll(lang.to_s, :general_lang_name), lang.to_s]}.
-          sort {|x,y| x.first <=> y.first }
+          sort_by(&:first)
       else
         ActionController::Base.cache_store.fetch "i18n/languages_options/#{Redmine::VERSION}" do
           languages_options :cache => false
index 599c3a42faeed5fa3186131fcfbd27b39824ae23..a3b672d26bad3490369cb422b1aa2c2e1d1b572f 100644 (file)
@@ -206,7 +206,7 @@ module Redmine
                :path          => with_leading_slash(p),
                :from_path     => (cpmap.member?(p) ? with_leading_slash(cpmap[p]) : nil),
                :from_revision => (cpmap.member?(p) ? le['node'] : nil)}
-            end.sort { |a, b| a[:path] <=> b[:path] }
+            end.sort_by { |e| e[:path] }
             parents_ary = []
             as_ary(le['parents']['parent']).map do |par|
               parents_ary << par['__content__'] if par['__content__'] != "0000000000000000000000000000000000000000"
index 318f045a035f81789e6a03de6dedc5a77562a210..11c8c9c606a02cb5fe24a939865e1e772f7e14c1 100644 (file)
@@ -168,7 +168,7 @@ module Redmine
                             :from_revision => path['copyfrom-rev']
                             }
                 end if logentry['paths'] && logentry['paths']['path']
-                paths.sort! { |x,y| x[:path] <=> y[:path] }
+                paths.sort_by! {|e| e[:path]}
 
                 revisions << Revision.new({:identifier => logentry['revision'],
                               :author => (logentry['author'] ? logentry['author']['__content__'] : ""),
index 02ce1b2a8dd402e65160999c5a2f0f6826cdee04..3ed53f1f1a0c814618ec68c588136da182706bb9 100644 (file)
@@ -2,7 +2,7 @@ namespace :redmine do
   desc "List all permissions and the actions registered with them"
   task :permissions => :environment do
     puts "Permission Name - controller/action pairs"
-    Redmine::AccessControl.permissions.sort {|a,b| a.name.to_s <=> b.name.to_s }.each do |permission|
+    Redmine::AccessControl.permissions.sort_by {|p| p.name.to_s}.each do |permission|
       puts ":#{permission.name} - #{permission.actions.join(', ')}"
     end
   end