aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/fixtures.rb
diff options
context:
space:
mode:
authorGannon McGibbon <gannon.mcgibbon@gmail.com>2018-10-05 14:20:02 -0400
committerGannon McGibbon <gannon.mcgibbon@gmail.com>2018-10-05 17:57:55 -0400
commitea4b52ab3cd375d314b0d9d74724cdb49b4fcdd4 (patch)
tree0411bce48fb77ffc0292ab81e28f7247527702e2 /activerecord/lib/active_record/fixtures.rb
parentbf88250c3c24e26c1bac757c8967cf8e17f909f0 (diff)
downloadrails-ea4b52ab3cd375d314b0d9d74724cdb49b4fcdd4.tar.gz
rails-ea4b52ab3cd375d314b0d9d74724cdb49b4fcdd4.tar.bz2
rails-ea4b52ab3cd375d314b0d9d74724cdb49b4fcdd4.zip
Small refactors to FixtureSet::ClassCache and Fixture
Diffstat (limited to 'activerecord/lib/active_record/fixtures.rb')
-rw-r--r--activerecord/lib/active_record/fixtures.rb17
1 files changed, 8 insertions, 9 deletions
diff --git a/activerecord/lib/active_record/fixtures.rb b/activerecord/lib/active_record/fixtures.rb
index ffdf6ebba0..d3300426cb 100644
--- a/activerecord/lib/active_record/fixtures.rb
+++ b/activerecord/lib/active_record/fixtures.rb
@@ -450,14 +450,16 @@ module ActiveRecord
@config = config
# Remove string values that aren't constants or subclasses of AR
- @class_names.delete_if { |klass_name, klass| !insert_class(@class_names, klass_name, klass) }
+ @class_names.delete_if do |klass_name, klass|
+ !insert_class(@class_names, klass_name, klass)
+ end
end
def [](fs_name)
- @class_names.fetch(fs_name) {
+ @class_names.fetch(fs_name) do
klass = default_fixture_model(fs_name, @config).safe_constantize
insert_class(@class_names, fs_name, klass)
- }
+ end
end
private
@@ -862,12 +864,9 @@ module ActiveRecord
alias :to_hash :fixture
def find
- if model_class
- model_class.unscoped do
- model_class.find(fixture[model_class.primary_key])
- end
- else
- raise FixtureClassNotFound, "No class attached to find."
+ raise FixtureClassNotFound, "No class attached to find." unless model_class
+ model_class.unscoped do
+ model_class.find(fixture[model_class.primary_key])
end
end
end