diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2013-03-14 18:40:09 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2013-03-14 18:40:09 -0700 |
commit | fef210474c3a4f6adbbfda48d705a0d387ddac52 (patch) | |
tree | 206dce3ba5df01ab4cc7b25d4fb6c67e82d70862 /activerecord/lib/active_record | |
parent | d7587943711e96e0335c40452d77869a479c1722 (diff) | |
download | rails-fef210474c3a4f6adbbfda48d705a0d387ddac52.tar.gz rails-fef210474c3a4f6adbbfda48d705a0d387ddac52.tar.bz2 rails-fef210474c3a4f6adbbfda48d705a0d387ddac52.zip |
dup and set the default proc to nil rather than looping through everything
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/schema_cache.rb | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/schema_cache.rb b/activerecord/lib/active_record/connection_adapters/schema_cache.rb index 5839d1d3b4..dd6363cd2a 100644 --- a/activerecord/lib/active_record/connection_adapters/schema_cache.rb +++ b/activerecord/lib/active_record/connection_adapters/schema_cache.rb @@ -70,7 +70,9 @@ module ActiveRecord # if we get current version during initialization, it happens stack over flow. @version = ActiveRecord::Migrator.current_version [@version] + [:@columns, :@columns_hash, :@primary_keys, :@tables].map do |val| - self.instance_variable_get(val).inject({}) { |h, v| h[v[0]] = v[1]; h } + instance_variable_get(val).dup.tap { |h| + h.default_proc = nil + } end end |