##// END OF EJS Templates
Use #reduce instead of #inject for getting the intersection of arrays....
Jean-Philippe Lang -
r8707:8c38510ee504
parent child
Show More
@@ -8,7 +8,7 class ContextMenusController < ApplicationController
8 @issue = @issues.first
8 @issue = @issues.first
9 end
9 end
10
10
11 @allowed_statuses = @issues.map(&:new_statuses_allowed_to).inject{|memo,a| memo & a}
11 @allowed_statuses = @issues.map(&:new_statuses_allowed_to).reduce(:&)
12 @projects = @issues.collect(&:project).compact.uniq
12 @projects = @issues.collect(&:project).compact.uniq
13 @project = @projects.first if @projects.size == 1
13 @project = @projects.first if @projects.size == 1
14
14
@@ -28,8 +28,8 class ContextMenusController < ApplicationController
28 @trackers = @project.trackers
28 @trackers = @project.trackers
29 else
29 else
30 #when multiple projects, we only keep the intersection of each set
30 #when multiple projects, we only keep the intersection of each set
31 @assignables = @projects.map(&:assignable_users).inject{|memo,a| memo & a}
31 @assignables = @projects.map(&:assignable_users).reduce(:&)
32 @trackers = @projects.map(&:trackers).inject{|memo,t| memo & t}
32 @trackers = @projects.map(&:trackers).reduce(:&)
33 end
33 end
34
34
35 @priorities = IssuePriority.active.reverse
35 @priorities = IssuePriority.active.reverse
@@ -37,7 +37,7 class ContextMenusController < ApplicationController
37
37
38 @options_by_custom_field = {}
38 @options_by_custom_field = {}
39 if @can[:edit]
39 if @can[:edit]
40 custom_fields = @issues.map(&:available_custom_fields).inject {|memo, f| memo & f}.select do |f|
40 custom_fields = @issues.map(&:available_custom_fields).reduce(:&).select do |f|
41 %w(bool list user version).include?(f.field_format) && !f.multiple?
41 %w(bool list user version).include?(f.field_format) && !f.multiple?
42 end
42 end
43 custom_fields.each do |field|
43 custom_fields.each do |field|
@@ -229,12 +229,12 class IssuesController < ApplicationController
229 end
229 end
230 target_projects ||= @projects
230 target_projects ||= @projects
231
231
232 @available_statuses = target_projects.map{|p|Workflow.available_statuses(p)}.inject{|memo,w|memo & w}
232 @available_statuses = target_projects.map{|p|Workflow.available_statuses(p)}.reduce(:&)
233 @custom_fields = target_projects.map{|p|p.all_issue_custom_fields}.inject{|memo,c|memo & c}
233 @custom_fields = target_projects.map{|p|p.all_issue_custom_fields}.reduce(:&)
234 @assignables = target_projects.map(&:assignable_users).inject{|memo,a| memo & a}
234 @assignables = target_projects.map(&:assignable_users).reduce(:&)
235 @trackers = target_projects.map(&:trackers).inject{|memo,t| memo & t}
235 @trackers = target_projects.map(&:trackers).reduce(:&)
236
236
237 @safe_attributes = @issues.map(&:safe_attribute_names).inject {|memo,attrs| memo & attrs}
237 @safe_attributes = @issues.map(&:safe_attribute_names).reduce(:&)
238 render :layout => false if request.xhr?
238 render :layout => false if request.xhr?
239 end
239 end
240
240
@@ -73,7 +73,7 class CustomField < ActiveRecord::Base
73 obj.project.shared_versions.sort.collect {|u| [u.to_s, u.id.to_s]}
73 obj.project.shared_versions.sort.collect {|u| [u.to_s, u.id.to_s]}
74 end
74 end
75 elsif obj.is_a?(Array)
75 elsif obj.is_a?(Array)
76 obj.collect {|o| possible_values_options(o)}.inject {|memo, v| memo & v}
76 obj.collect {|o| possible_values_options(o)}.reduce(:&)
77 else
77 else
78 []
78 []
79 end
79 end
General Comments 0
You need to be logged in to leave comments. Login now