diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2011-12-30 15:35:21 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2011-12-30 15:35:21 -0800 |
commit | ddde548816df68321a88bfa9fdd606d3dfac33aa (patch) | |
tree | ac451c53b387292c2478b56029b762cdb55a3001 | |
parent | 41c24eb3e38af99b208c17041199832a0372da8f (diff) | |
download | rails-ddde548816df68321a88bfa9fdd606d3dfac33aa.tar.gz rails-ddde548816df68321a88bfa9fdd606d3dfac33aa.tar.bz2 rails-ddde548816df68321a88bfa9fdd606d3dfac33aa.zip |
connection specification will deep copy the config
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/connection_specification.rb | 4 | ||||
-rw-r--r-- | activerecord/test/cases/connection_adapters/connection_specification_test.rb | 12 |
2 files changed, 16 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/connection_specification.rb b/activerecord/lib/active_record/connection_adapters/connection_specification.rb index 34bdcc0802..8491d42b86 100644 --- a/activerecord/lib/active_record/connection_adapters/connection_specification.rb +++ b/activerecord/lib/active_record/connection_adapters/connection_specification.rb @@ -7,6 +7,10 @@ module ActiveRecord @config, @adapter_method = config, adapter_method end + def initialize_dup(original) + @config = original.config.dup + end + ## # Builds a ConnectionSpecification from user input class Resolver # :nodoc: diff --git a/activerecord/test/cases/connection_adapters/connection_specification_test.rb b/activerecord/test/cases/connection_adapters/connection_specification_test.rb new file mode 100644 index 0000000000..ea2196cda2 --- /dev/null +++ b/activerecord/test/cases/connection_adapters/connection_specification_test.rb @@ -0,0 +1,12 @@ +require "cases/helper" + +module ActiveRecord + module ConnectionAdapters + class ConnectionSpecificationTest < ActiveRecord::TestCase + def test_dup_deep_copy_config + spec = ConnectionSpecification.new({ :a => :b }, "bar") + assert_not_equal(spec.config.object_id, spec.dup.config.object_id) + end + end + end +end |