From 4efb319141b52c08a181050eb74ff52eec1f3671 Mon Sep 17 00:00:00 2001 From: schneems Date: Wed, 22 Aug 2018 11:17:50 -0500 Subject: Two fewer array allocations on action_methods Instead of creating new arrays for `uniq` and `map` we can instead modify the array in place. --- actionpack/lib/abstract_controller/base.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'actionpack') diff --git a/actionpack/lib/abstract_controller/base.rb b/actionpack/lib/abstract_controller/base.rb index a312af6715..9783c19835 100644 --- a/actionpack/lib/abstract_controller/base.rb +++ b/actionpack/lib/abstract_controller/base.rb @@ -78,7 +78,10 @@ module AbstractController # Except for public instance methods of Base and its ancestors internal_methods + # Be sure to include shadowed public instance methods of this class - public_instance_methods(false)).uniq.map(&:to_s) + public_instance_methods(false)) + + methods.uniq! + methods.map!(&:to_s) methods.to_set end -- cgit v1.2.3