From abf9335b88aa60167c8325022dfd89ef71f24064 Mon Sep 17 00:00:00 2001 From: Ken Collins Date: Wed, 1 Sep 2010 11:13:29 -0400 Subject: [PATCH] Conversion of a two dimensional array that is ruby 1.8.6 safe. Fix paren warnings too. --- .../associations/association_collection.rb | 2 +- .../associations/has_many_associations_test.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/activerecord/lib/active_record/associations/association_collection.rb b/activerecord/lib/active_record/associations/association_collection.rb index 5d0002b..0953fa5 100644 --- a/activerecord/lib/active_record/associations/association_collection.rb +++ b/activerecord/lib/active_record/associations/association_collection.rb @@ -383,7 +383,7 @@ module ActiveRecord return send("find_by_#{rest}", *args) || method_missing("create_by_#{rest}", *args) when /^create_by_(.*)$/ - return create Hash[$1.split('_and_').zip(args)] + return create($1.split('_and_').zip(args).inject({}) { |h,kv| k,v=kv ; h[k] = v ; h }) end if @target.respond_to?(method) || (!@reflection.klass.respond_to?(method) && Class.respond_to?(method)) diff --git a/activerecord/test/cases/associations/has_many_associations_test.rb b/activerecord/test/cases/associations/has_many_associations_test.rb index 66d1b16..59f7a03 100644 --- a/activerecord/test/cases/associations/has_many_associations_test.rb +++ b/activerecord/test/cases/associations/has_many_associations_test.rb @@ -26,7 +26,7 @@ class HasManyAssociationsTest < ActiveRecord::TestCase post = Post.find :first assert_equal [], person.readers - assert_nil person.readers.find_by_post_id post.id + assert_nil person.readers.find_by_post_id(post.id) reader = person.readers.create_by_post_id post.id @@ -55,7 +55,7 @@ class HasManyAssociationsTest < ActiveRecord::TestCase post = Post.find :first assert_equal [], person.readers - assert_nil person.readers.find_by_post_id post.id + assert_nil person.readers.find_by_post_id(post.id) reader = person.readers.find_or_create_by_post_id post.id -- 1.7.2.2