From 3fe9951fcce97edbc7d1443f165a0b2cb82de1ef Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Sat, 25 Dec 2010 14:34:13 -0700 Subject: refactoring AST building --- activerecord/lib/active_record/association_preload.rb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'activerecord') diff --git a/activerecord/lib/active_record/association_preload.rb b/activerecord/lib/active_record/association_preload.rb index 7dfb142bb8..9c79e6225a 100644 --- a/activerecord/lib/active_record/association_preload.rb +++ b/activerecord/lib/active_record/association_preload.rb @@ -217,13 +217,11 @@ module ActiveRecord associated_records_proxy.joins_values = [join] associated_records_proxy.select_values = select - method = ids.length > 1 ? 'in' : 'eq' - all_associated_records = associated_records(ids) do |some_ids| + method = some_ids.length == 1 ? ['eq', some_ids.first] : + ['in', some_ids] - conditions = right[reflection.primary_key_name].send( - method, some_ids.length == 1 ? some_ids.first : some_ids - ) + conditions = right[reflection.primary_key_name].send(*method) conditions = conditions.and(custom_conditions) unless custom_conditions.empty? associated_records_proxy.where(conditions).to_a -- cgit v1.2.3