aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/predicate_builder
diff options
context:
space:
mode:
authorbogdanvlviv <bogdanvlviv@gmail.com>2018-06-14 22:58:50 +0300
committerbogdanvlviv <bogdanvlviv@gmail.com>2018-08-14 19:53:12 +0300
commite765bff13484b3c834f0e9979550196898dc7cc9 (patch)
tree7ac0633410674dae657bfa22577b0c1b6cf82b63 /activerecord/lib/active_record/relation/predicate_builder
parent77b0126054178cb74c2b5bb17979462095144b7c (diff)
downloadrails-e765bff13484b3c834f0e9979550196898dc7cc9.tar.gz
rails-e765bff13484b3c834f0e9979550196898dc7cc9.tar.bz2
rails-e765bff13484b3c834f0e9979550196898dc7cc9.zip
Use `Array#extract!` where possible
Diffstat (limited to 'activerecord/lib/active_record/relation/predicate_builder')
-rw-r--r--activerecord/lib/active_record/relation/predicate_builder/array_handler.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/relation/predicate_builder/array_handler.rb b/activerecord/lib/active_record/relation/predicate_builder/array_handler.rb
index 64bf83e3c1..e5191fa38a 100644
--- a/activerecord/lib/active_record/relation/predicate_builder/array_handler.rb
+++ b/activerecord/lib/active_record/relation/predicate_builder/array_handler.rb
@@ -1,5 +1,7 @@
# frozen_string_literal: true
+require "active_support/core_ext/array/extract"
+
module ActiveRecord
class PredicateBuilder
class ArrayHandler # :nodoc:
@@ -11,8 +13,8 @@ module ActiveRecord
return attribute.in([]) if value.empty?
values = value.map { |x| x.is_a?(Base) ? x.id : x }
- nils, values = values.partition(&:nil?)
- ranges, values = values.partition { |v| v.is_a?(Range) }
+ nils = values.extract!(&:nil?)
+ ranges = values.extract! { |v| v.is_a?(Range) }
values_predicate =
case values.length