##// 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 8 @issue = @issues.first
9 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 12 @projects = @issues.collect(&:project).compact.uniq
13 13 @project = @projects.first if @projects.size == 1
14 14
@@ -28,8 +28,8 class ContextMenusController < ApplicationController
28 28 @trackers = @project.trackers
29 29 else
30 30 #when multiple projects, we only keep the intersection of each set
31 @assignables = @projects.map(&:assignable_users).inject{|memo,a| memo & a}
32 @trackers = @projects.map(&:trackers).inject{|memo,t| memo & t}
31 @assignables = @projects.map(&:assignable_users).reduce(:&)
32 @trackers = @projects.map(&:trackers).reduce(:&)
33 33 end
34 34
35 35 @priorities = IssuePriority.active.reverse
@@ -37,7 +37,7 class ContextMenusController < ApplicationController
37 37
38 38 @options_by_custom_field = {}
39 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 41 %w(bool list user version).include?(f.field_format) && !f.multiple?
42 42 end
43 43 custom_fields.each do |field|
@@ -229,12 +229,12 class IssuesController < ApplicationController
229 229 end
230 230 target_projects ||= @projects
231 231
232 @available_statuses = target_projects.map{|p|Workflow.available_statuses(p)}.inject{|memo,w|memo & w}
233 @custom_fields = target_projects.map{|p|p.all_issue_custom_fields}.inject{|memo,c|memo & c}
234 @assignables = target_projects.map(&:assignable_users).inject{|memo,a| memo & a}
235 @trackers = target_projects.map(&:trackers).inject{|memo,t| memo & t}
232 @available_statuses = target_projects.map{|p|Workflow.available_statuses(p)}.reduce(:&)
233 @custom_fields = target_projects.map{|p|p.all_issue_custom_fields}.reduce(:&)
234 @assignables = target_projects.map(&:assignable_users).reduce(:&)
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 238 render :layout => false if request.xhr?
239 239 end
240 240
@@ -73,7 +73,7 class CustomField < ActiveRecord::Base
73 73 obj.project.shared_versions.sort.collect {|u| [u.to_s, u.id.to_s]}
74 74 end
75 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 77 else
78 78 []
79 79 end
General Comments 0
You need to be logged in to leave comments. Login now