From 1812240f1ac28ef8e2e399d38548255328580b52 Mon Sep 17 00:00:00 2001
From: Ryuta Kamizono <kamipo@gmail.com>
Date: Sat, 3 Nov 2018 21:38:19 +0900
Subject: Don't pass unused `connection` to `FixtureSet.new`

The `@connection` is no longer used since ee5ab22.

Originally the `@connection` was useless because it is only used in
`timestamp_column_names`, which is only used if `model_class` is given.

If `model_class` is given, the `@connection` is always
`model_class.connection`.
---
 activerecord/lib/active_record/fixtures.rb |  7 ++-----
 activerecord/test/cases/fixtures_test.rb   | 18 +++++++++---------
 2 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/activerecord/lib/active_record/fixtures.rb b/activerecord/lib/active_record/fixtures.rb
index b090c76a38..1dead09073 100644
--- a/activerecord/lib/active_record/fixtures.rb
+++ b/activerecord/lib/active_record/fixtures.rb
@@ -577,9 +577,8 @@ module ActiveRecord
         fixtures_map = {}
         fixture_sets = fixture_files.map do |fixture_set_name|
           klass = class_names[fixture_set_name]
-          conn = klass&.connection || connection
           fixtures_map[fixture_set_name] = new( # ActiveRecord::FixtureSet.new
-            conn,
+            nil,
             fixture_set_name,
             klass,
             ::File.join(fixtures_directory, fixture_set_name)
@@ -621,7 +620,7 @@ module ActiveRecord
 
     attr_reader :table_name, :name, :fixtures, :model_class, :config
 
-    def initialize(connection, name, class_name, path, config = ActiveRecord::Base)
+    def initialize(_, name, class_name, path, config = ActiveRecord::Base)
       @name     = name
       @path     = path
       @config   = config
@@ -630,8 +629,6 @@ module ActiveRecord
 
       @fixtures = read_fixture_files(path)
 
-      @connection = connection
-
       @table_name = (model_class.respond_to?(:table_name) ?
                       model_class.table_name :
                       self.class.default_fixture_table_name(name, config))
diff --git a/activerecord/test/cases/fixtures_test.rb b/activerecord/test/cases/fixtures_test.rb
index 1092b9553f..a5592fc86a 100644
--- a/activerecord/test/cases/fixtures_test.rb
+++ b/activerecord/test/cases/fixtures_test.rb
@@ -473,11 +473,11 @@ class FixturesTest < ActiveRecord::TestCase
   end
 
   def test_empty_yaml_fixture
-    assert_not_nil ActiveRecord::FixtureSet.new(Account.connection, "accounts", Account, FIXTURES_ROOT + "/naked/yml/accounts")
+    assert_not_nil ActiveRecord::FixtureSet.new(nil, "accounts", Account, FIXTURES_ROOT + "/naked/yml/accounts")
   end
 
   def test_empty_yaml_fixture_with_a_comment_in_it
-    assert_not_nil ActiveRecord::FixtureSet.new(Account.connection, "companies", Company, FIXTURES_ROOT + "/naked/yml/companies")
+    assert_not_nil ActiveRecord::FixtureSet.new(nil, "companies", Company, FIXTURES_ROOT + "/naked/yml/companies")
   end
 
   def test_nonexistent_fixture_file
@@ -487,14 +487,14 @@ class FixturesTest < ActiveRecord::TestCase
     assert_empty Dir[nonexistent_fixture_path + "*"]
 
     assert_raise(Errno::ENOENT) do
-      ActiveRecord::FixtureSet.new(Account.connection, "companies", Company, nonexistent_fixture_path)
+      ActiveRecord::FixtureSet.new(nil, "companies", Company, nonexistent_fixture_path)
     end
   end
 
   def test_dirty_dirty_yaml_file
     fixture_path = FIXTURES_ROOT + "/naked/yml/courses"
     error = assert_raise(ActiveRecord::Fixture::FormatError) do
-      ActiveRecord::FixtureSet.new(Account.connection, "courses", Course, fixture_path)
+      ActiveRecord::FixtureSet.new(nil, "courses", Course, fixture_path)
     end
     assert_equal "fixture is not a hash: #{fixture_path}.yml", error.to_s
   end
@@ -502,7 +502,7 @@ class FixturesTest < ActiveRecord::TestCase
   def test_yaml_file_with_one_invalid_fixture
     fixture_path = FIXTURES_ROOT + "/naked/yml/courses_with_invalid_key"
     error = assert_raise(ActiveRecord::Fixture::FormatError) do
-      ActiveRecord::FixtureSet.new(Account.connection, "courses", Course, fixture_path)
+      ActiveRecord::FixtureSet.new(nil, "courses", Course, fixture_path)
     end
     assert_equal "fixture key is not a hash: #{fixture_path}.yml, keys: [\"two\"]", error.to_s
   end
@@ -525,7 +525,7 @@ class FixturesTest < ActiveRecord::TestCase
 
   def test_omap_fixtures
     assert_nothing_raised do
-      fixtures = ActiveRecord::FixtureSet.new(Account.connection, "categories", Category, FIXTURES_ROOT + "/categories_ordered")
+      fixtures = ActiveRecord::FixtureSet.new(nil, "categories", Category, FIXTURES_ROOT + "/categories_ordered")
 
       fixtures.each.with_index do |(name, fixture), i|
         assert_equal "fixture_no_#{i}", name
@@ -596,7 +596,7 @@ class HasManyThroughFixture < ActiveRecord::TestCase
 
     parrots = File.join FIXTURES_ROOT, "parrots"
 
-    fs = ActiveRecord::FixtureSet.new parrot.connection, "parrots", parrot, parrots
+    fs = ActiveRecord::FixtureSet.new(nil, "parrots", parrot, parrots)
     rows = fs.table_rows
     assert_equal load_has_and_belongs_to_many["parrots_treasures"], rows["parrots_treasures"]
   end
@@ -614,7 +614,7 @@ class HasManyThroughFixture < ActiveRecord::TestCase
 
     parrots = File.join FIXTURES_ROOT, "parrots"
 
-    fs = ActiveRecord::FixtureSet.new parrot.connection, "parrots", parrot, parrots
+    fs = ActiveRecord::FixtureSet.new(nil, "parrots", parrot, parrots)
     rows = fs.table_rows
     assert_equal load_has_and_belongs_to_many["parrots_treasures"], rows["parrot_treasures"]
   end
@@ -629,7 +629,7 @@ class HasManyThroughFixture < ActiveRecord::TestCase
 
     parrots = File.join FIXTURES_ROOT, "parrots"
 
-    fs = ActiveRecord::FixtureSet.new parrot.connection, "parrots", parrot, parrots
+    fs = ActiveRecord::FixtureSet.new(nil, "parrots", parrot, parrots)
     fs.table_rows
   end
 end
-- 
cgit v1.2.3