From 06ef4c3fa874f6dc166bce06d8158d9c5af78195 Mon Sep 17 00:00:00 2001 From: Ryuta Kamizono Date: Sat, 3 Nov 2018 22:35:23 +0900 Subject: Don't pass useless `table_name` to `ModelMetadata.new` The `model_metadata` is only used if `model_class` is given. If `model_class` is given, the `table_name` is always `model_class.table_name`. --- activerecord/lib/active_record/fixture_set/model_metadata.rb | 11 ++--------- activerecord/lib/active_record/fixture_set/table_rows.rb | 2 +- activerecord/lib/active_record/fixtures.rb | 4 +--- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/activerecord/lib/active_record/fixture_set/model_metadata.rb b/activerecord/lib/active_record/fixture_set/model_metadata.rb index edc03939c8..fb23df6f45 100644 --- a/activerecord/lib/active_record/fixture_set/model_metadata.rb +++ b/activerecord/lib/active_record/fixture_set/model_metadata.rb @@ -3,9 +3,8 @@ module ActiveRecord class FixtureSet class ModelMetadata # :nodoc: - def initialize(model_class, table_name) + def initialize(model_class) @model_class = model_class - @table_name = table_name end def primary_key_name @@ -23,18 +22,12 @@ module ActiveRecord def timestamp_column_names @timestamp_column_names ||= - %w(created_at created_on updated_at updated_on) & column_names + %w(created_at created_on updated_at updated_on) & @model_class.column_names end def inheritance_column_name @inheritance_column_name ||= @model_class && @model_class.inheritance_column end - - private - - def column_names - @column_names ||= @model_class.connection.columns(@table_name).collect(&:name) - end end end end diff --git a/activerecord/lib/active_record/fixture_set/table_rows.rb b/activerecord/lib/active_record/fixture_set/table_rows.rb index 3e3c0bc7ab..8a99df29ce 100644 --- a/activerecord/lib/active_record/fixture_set/table_rows.rb +++ b/activerecord/lib/active_record/fixture_set/table_rows.rb @@ -58,7 +58,7 @@ module ActiveRecord end def model_metadata - @model_metadata ||= ModelMetadata.new(model_class, table_name) + @model_metadata ||= ModelMetadata.new(model_class) end def resolve_sti_reflections(row) diff --git a/activerecord/lib/active_record/fixtures.rb b/activerecord/lib/active_record/fixtures.rb index 1dead09073..1248ed00c5 100644 --- a/activerecord/lib/active_record/fixtures.rb +++ b/activerecord/lib/active_record/fixtures.rb @@ -629,9 +629,7 @@ module ActiveRecord @fixtures = read_fixture_files(path) - @table_name = (model_class.respond_to?(:table_name) ? - model_class.table_name : - self.class.default_fixture_table_name(name, config)) + @table_name = model_class&.table_name || self.class.default_fixture_table_name(name, config) end def [](x) -- cgit v1.2.3