aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2011-02-11 16:18:37 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2011-02-11 16:18:37 -0800
commitaf5b1db965d986f563d19d5dd23df9925b43d5fb (patch)
tree623ea9fd43e97395de04633d589c74159b6ed0a9 /activerecord
parent634424665422bc885c5e3f168908ea58e1f3c811 (diff)
downloadrails-af5b1db965d986f563d19d5dd23df9925b43d5fb.tar.gz
rails-af5b1db965d986f563d19d5dd23df9925b43d5fb.tar.bz2
rails-af5b1db965d986f563d19d5dd23df9925b43d5fb.zip
create fixtures always returns a list, so build a hash from the list
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/fixtures.rb12
1 files changed, 2 insertions, 10 deletions
diff --git a/activerecord/lib/active_record/fixtures.rb b/activerecord/lib/active_record/fixtures.rb
index 9634cebcf5..fba05b16d7 100644
--- a/activerecord/lib/active_record/fixtures.rb
+++ b/activerecord/lib/active_record/fixtures.rb
@@ -955,8 +955,7 @@ module ActiveRecord
if @@already_loaded_fixtures[self.class]
@loaded_fixtures = @@already_loaded_fixtures[self.class]
else
- load_fixtures
- @@already_loaded_fixtures[self.class] = @loaded_fixtures
+ @@already_loaded_fixtures[self.class] = load_fixtures
end
ActiveRecord::Base.connection.increment_open_transactions
ActiveRecord::Base.connection.transaction_joinable = false
@@ -989,15 +988,8 @@ module ActiveRecord
private
def load_fixtures
- @loaded_fixtures = {}
fixtures = Fixtures.create_fixtures(fixture_path, fixture_table_names, fixture_class_names)
- unless fixtures.nil?
- if fixtures.instance_of?(Fixtures)
- @loaded_fixtures[fixtures.name] = fixtures
- else
- fixtures.each { |f| @loaded_fixtures[f.name] = f }
- end
- end
+ @loaded_fixtures = Hash[fixtures.map { |f| [f.name, f] }]
end
# for pre_loaded_fixtures, only require the classes once. huge speed improvement