Browse Source

Ruby 2.7: Fix RuboCop offense Performance/MapCompact (#38134).


git-svn-id: https://svn.redmine.org/redmine/trunk@22055 e93f8b46-1217-0410-a6f0-8f06a7374b81
tags/5.1.0
Go MAEDA 1 year ago
parent
commit
0b6f4c6811

+ 1
- 1
Gemfile View File

@@ -63,7 +63,7 @@ database_file = File.join(File.dirname(__FILE__), "config/database.yml")
if File.exist?(database_file)
yaml_config = ERB.new(IO.read(database_file)).result
database_config = YAML.respond_to?(:unsafe_load) ? YAML.unsafe_load(yaml_config) : YAML.load(yaml_config)
adapters = database_config.values.map {|c| c['adapter']}.compact.uniq
adapters = database_config.values.filter_map {|c| c['adapter']}.uniq
if adapters.any?
adapters.each do |adapter|
case adapter

+ 1
- 1
app/controllers/application_controller.rb View File

@@ -405,7 +405,7 @@ class ApplicationController < ActionController::Base
raise ActiveRecord::RecordNotFound if @issues.empty?
raise Unauthorized unless @issues.all?(&:visible?)

@projects = @issues.collect(&:project).compact.uniq
@projects = @issues.filter_map(&:project).uniq
@project = @projects.first if @projects.size == 1
rescue ActiveRecord::RecordNotFound
render_404

+ 1
- 1
app/controllers/context_menus_controller.rb View File

@@ -74,7 +74,7 @@ class ContextMenusController < ApplicationController
@time_entry = @time_entries.first
end

@projects = @time_entries.collect(&:project).compact.uniq
@projects = @time_entries.filter_map(&:project).uniq
@project = @projects.first if @projects.size == 1
@activities = @projects.map(&:activities).reduce(:&)


+ 1
- 1
app/controllers/timelog_controller.rb View File

@@ -280,7 +280,7 @@ class TimelogController < ApplicationController
raise ActiveRecord::RecordNotFound if @time_entries.empty?
raise Unauthorized unless @time_entries.all? {|t| t.editable_by?(User.current)}

@projects = @time_entries.collect(&:project).compact.uniq
@projects = @time_entries.filter_map(&:project).uniq
@project = @projects.first if @projects.size == 1
rescue ActiveRecord::RecordNotFound
render_404

+ 1
- 1
app/helpers/application_helper.rb View File

@@ -1503,7 +1503,7 @@ module ApplicationHelper

# Render the error messages for the given objects
def error_messages_for(*objects)
objects = objects.map {|o| o.is_a?(String) ? instance_variable_get("@#{o}") : o}.compact
objects = objects.filter_map {|o| o.is_a?(String) ? instance_variable_get("@#{o}") : o}
errors = objects.map {|o| o.errors.full_messages}.flatten
render_error_messages(errors)
end

+ 1
- 1
app/helpers/issue_relations_helper.rb View File

@@ -33,7 +33,7 @@ module IssueRelationsHelper
end

messages.map do |message, items|
ids = items.map(&:issue_to_id).compact
ids = items.filter_map(&:issue_to_id)
if ids.empty?
message
else

+ 2
- 2
app/helpers/members_helper.rb View File

@@ -50,13 +50,13 @@ module MembersHelper

# Returns inheritance information for an inherited member role
def render_role_inheritance(member, role)
content = member.role_inheritance(role).map do |h|
content = member.role_inheritance(role).filter_map do |h|
if h.is_a?(Project)
l(:label_inherited_from_parent_project)
elsif h.is_a?(Group)
l(:label_inherited_from_group, :name => h.name.to_s)
end
end.compact.uniq
end.uniq

if content.present?
content_tag('em', content.join(", "), :class => "info")

+ 2
- 2
app/helpers/queries_helper.rb View File

@@ -233,7 +233,7 @@ module QueriesHelper
value = column.value_object(item)
content =
if value.is_a?(Array)
values = value.collect {|v| column_value(column, item, v)}.compact
values = value.filter_map {|v| column_value(column, item, v)}
safe_join(values, ', ')
else
column_value(column, item, value)
@@ -286,7 +286,7 @@ module QueriesHelper
def csv_content(column, item)
value = column.value_object(item)
if value.is_a?(Array)
value.collect {|v| csv_value(column, item, v)}.compact.join(', ')
value.filter_map {|v| csv_value(column, item, v)}.join(', ')
else
csv_value(column, item, value)
end

+ 2
- 2
app/helpers/repositories_helper.rb View File

@@ -52,7 +52,7 @@ module RepositoriesHelper
end

def render_changeset_changes
changes = @changeset.filechanges.limit(1000).reorder('path').collect do |change|
changes = @changeset.filechanges.limit(1000).reorder('path').filter_map do |change|
case change.action
when 'A'
# Detects moved/copied files
@@ -66,7 +66,7 @@ module RepositoriesHelper
else
change
end
end.compact
end

tree = {}
changes.each do |change|

+ 1
- 2
app/models/member.rb View File

@@ -120,8 +120,7 @@ class Member < ActiveRecord::Base
def role_inheritance(role)
member_roles.
select {|mr| mr.role_id == role.id && mr.inherited_from.present?}.
map {|mr| mr.inherited_from_member_role.try(:member)}.
compact.
filter_map {|mr| mr.inherited_from_member_role.try(:member)}.
map {|m| m.project == project ? m.principal : m.project}
end


+ 2
- 2
app/models/query.rb View File

@@ -787,9 +787,9 @@ class Query < ActiveRecord::Base
return [] if available_columns.empty?

# preserve the column_names order
cols = (has_default_columns? ? default_columns_names : column_names).collect do |name|
cols = (has_default_columns? ? default_columns_names : column_names).filter_map do |name|
available_columns.find {|col| col.name == name}
end.compact
end
available_columns.select(&:frozen?) | cols
end


+ 1
- 1
app/models/repository.rb View File

@@ -436,7 +436,7 @@ class Repository < ActiveRecord::Base
# commits.to_a.sort! {|x, y| x.last <=> y.last}
changes = Change.joins(:changeset).where("#{Changeset.table_name}.repository_id = ?", id).
select("committer, user_id, count(*) as count").group("committer, user_id")
user_ids = changesets.map(&:user_id).compact.uniq
user_ids = changesets.filter_map(&:user_id).uniq
authors_names = User.where(:id => user_ids).inject({}) do |memo, user|
memo[user.id] = user.to_s
memo

+ 1
- 1
app/models/repository/git.rb View File

@@ -213,7 +213,7 @@ class Repository::Git < Repository
private :save_revisions

def save_revision(rev)
parents = (rev.parents || []).collect{|rp| find_changeset_by_name(rp)}.compact
parents = (rev.parents || []).filter_map{|rp| find_changeset_by_name(rp)}
changeset =
Changeset.create(
:repository => self,

+ 2
- 2
app/models/repository/mercurial.rb View File

@@ -193,9 +193,9 @@ class Repository::Mercurial < Repository
(db_rev + 1).step(scm_rev, FETCH_AT_ONCE) do |i|
scm.each_revision('', i, [i + FETCH_AT_ONCE - 1, scm_rev].min) do |re|
transaction do
parents = (re.parents || []).collect do |rp|
parents = (re.parents || []).filter_map do |rp|
find_changeset_by_name(scmid_for_inserting_db(rp))
end.compact
end
cs = Changeset.create(:repository => self,
:revision => re.revision,
:scmid => scmid_for_inserting_db(re.scmid),

+ 2
- 2
app/models/repository/subversion.rb View File

@@ -42,7 +42,7 @@ class Repository::Subversion < Repository
def latest_changesets(path, rev, limit=10)
revisions = scm.revisions(path, rev, nil, :limit => limit)
if revisions
identifiers = revisions.collect(&:identifier).compact
identifiers = revisions.filter_map(&:identifier)
changesets.where(:revision => identifiers).reorder("committed_on DESC").includes(:repository, :user).to_a
else
[]
@@ -97,7 +97,7 @@ class Repository::Subversion < Repository

entries_with_identifier =
entries.select {|entry| entry.lastrev && entry.lastrev.identifier.present?}
identifiers = entries_with_identifier.map {|entry| entry.lastrev.identifier}.compact.uniq
identifiers = entries_with_identifier.filter_map {|entry| entry.lastrev.identifier}.uniq
if identifiers.any?
changesets_by_identifier =
changesets.where(:revision => identifiers).

+ 1
- 1
app/models/role.rb View File

@@ -122,7 +122,7 @@ class Role < ActiveRecord::Base
end

def permissions=(perms)
perms = perms.collect {|p| p.to_sym unless p.blank?}.compact.uniq if perms
perms = perms.filter_map {|p| p.to_sym unless p.blank?}.uniq if perms
write_attribute(:permissions, perms)
end


+ 2
- 2
lib/redmine/field_format.rb View File

@@ -868,7 +868,7 @@ module Redmine

def possible_values_records(custom_field, object=nil)
if object.is_a?(Array)
projects = object.map {|o| o.respond_to?(:project) ? o.project : nil}.compact.uniq
projects = object.filter_map {|o| o.respond_to?(:project) ? o.project : nil}.uniq
projects.map {|project| possible_values_records(custom_field, project)}.reduce(:&) || []
elsif object.respond_to?(:project) && object.project
scope = object.project.users
@@ -934,7 +934,7 @@ module Redmine

def possible_values_records(custom_field, object=nil, all_statuses=false)
if object.is_a?(Array)
projects = object.map {|o| o.respond_to?(:project) ? o.project : nil}.compact.uniq
projects = object.filter_map {|o| o.respond_to?(:project) ? o.project : nil}.uniq
projects.map {|project| possible_values_records(custom_field, project)}.reduce(:&) || []
elsif object.respond_to?(:project) && object.project
scope = object.project.shared_versions

+ 1
- 1
lib/redmine/helpers/gantt.rb View File

@@ -198,7 +198,7 @@ module Redmine

# Returns the distinct versions of the issues that belong to +project+
def project_versions(project)
project_issues(project).collect(&:fixed_version).compact.uniq
project_issues(project).filter_map(&:fixed_version).uniq
end

# Returns the issues that belong to +project+ and are assigned to +version+

+ 1
- 1
lib/redmine/helpers/time_report.rb View File

@@ -49,7 +49,7 @@ module Redmine
@scope.includes(:activity).
reorder(nil).
group(@criteria.collect{|criteria| @available_criteria[criteria][:sql]} + time_columns).
joins(@criteria.collect{|criteria| @available_criteria[criteria][:joins]}.compact).
joins(@criteria.filter_map{|criteria| @available_criteria[criteria][:joins]}).
sum(:hours).each do |hash, hours|
h = {'hours' => hours}
(@criteria + time_columns).each_with_index do |name, i|

+ 2
- 2
lib/redmine/my_page.rb View File

@@ -48,11 +48,11 @@ module Redmine
def self.block_options(blocks_in_use=[])
options = []
blocks.each do |block, block_options|
indexes = blocks_in_use.map do |n|
indexes = blocks_in_use.filter_map do |n|
if n =~ /\A#{block}(__(\d+))?\z/
$2.to_i
end
end.compact
end

occurs = indexes.size
block_id = indexes.any? ? "#{block}__#{indexes.max + 1}" : block

+ 1
- 1
lib/redmine/scm/adapters/abstract_adapter.rb View File

@@ -329,7 +329,7 @@ module Redmine
end

def revisions
revisions ||= Revisions.new(collect{|entry| entry.lastrev}.compact)
revisions ||= Revisions.new(filter_map{|entry| entry.lastrev})
end
end


+ 2
- 2
lib/redmine/search.rb View File

@@ -82,9 +82,9 @@ module Redmine
klass = scope.singularize.camelcase.constantize
results_by_scope[scope] += klass.search_results_from_ids(scope_and_ids.map(&:last))
end
result_ids_to_load.map do |scope, id|
result_ids_to_load.filter_map do |scope, id|
results_by_scope[scope].detect {|record| record.id == id}
end.compact
end
end

# Returns the results ids, sorted by rank

+ 2
- 2
test/functional/issues_controller_test.rb View File

@@ -1259,7 +1259,7 @@ class IssuesControllerTest < Redmine::ControllerTest
get(:index, :params => {:sort => 'assigned_to'})
assert_response :success

assignees = issues_in_list.map(&:assigned_to).compact
assignees = issues_in_list.filter_map(&:assigned_to)
assert_equal assignees.sort, assignees
assert_select 'table.issues.sort-by-assigned-to.sort-asc'
end
@@ -1268,7 +1268,7 @@ class IssuesControllerTest < Redmine::ControllerTest
get(:index, :params => {:sort => 'assigned_to:desc'})
assert_response :success

assignees = issues_in_list.map(&:assigned_to).compact
assignees = issues_in_list.filter_map(&:assigned_to)
assert_equal assignees.sort.reverse, assignees
assert_select 'table.issues.sort-by-assigned-to.sort-desc'
end

+ 2
- 2
test/unit/query_test.rb View File

@@ -1940,13 +1940,13 @@ class QueryTest < ActiveSupport::TestCase
q.sort_criteria = [[c.name.to_s, 'asc']]
issues = q.issues
values =
issues.collect do |i|
issues.filter_map do |i|
begin
Kernel.Float(i.custom_value_for(c.custom_field).to_s)
rescue
nil
end
end.compact
end
assert !values.empty?
assert_equal values.sort, values
end

Loading…
Cancel
Save