diff options
author | Gannon McGibbon <gannon.mcgibbon@gmail.com> | 2018-10-05 14:20:02 -0400 |
---|---|---|
committer | Gannon McGibbon <gannon.mcgibbon@gmail.com> | 2018-10-05 17:57:55 -0400 |
commit | ea4b52ab3cd375d314b0d9d74724cdb49b4fcdd4 (patch) | |
tree | 0411bce48fb77ffc0292ab81e28f7247527702e2 /activerecord/lib | |
parent | bf88250c3c24e26c1bac757c8967cf8e17f909f0 (diff) | |
download | rails-ea4b52ab3cd375d314b0d9d74724cdb49b4fcdd4.tar.gz rails-ea4b52ab3cd375d314b0d9d74724cdb49b4fcdd4.tar.bz2 rails-ea4b52ab3cd375d314b0d9d74724cdb49b4fcdd4.zip |
Small refactors to FixtureSet::ClassCache and Fixture
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/fixtures.rb | 17 |
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 |