Fix module.replicant(), closes #2252

git-svn-id: file:///home/svn/framework3/trunk@9824 4d416f70-5f16-0410-b530-b9f4589650da
This commit is contained in:
HD Moore
2010-07-14 17:06:12 +00:00
parent ff204324e0
commit 5c2f104ade
2 changed files with 11 additions and 17 deletions
+10 -16
View File
@@ -212,22 +212,6 @@ class DataStore < Hash
self
end
#
# Return a deep copy of this datastore.
#
def copy
copy = self.dup
self.keys.each do |k|
if self[k].kind_of? String
v = self[k].dup
else
v = self[k]
end
copy.import_option(k, v, @imported[k], @imported_by[k])
end
copy
end
protected
#
@@ -297,6 +281,16 @@ class ModuleDataStore < DataStore
(@imported_by[key] == 'self')
end
#
# Return a deep copy of this datastore.
#
def copy
clone = self.class.new(@_module)
self.keys.each do |k|
clone.import_option(k, self[k].kind_of?(String) ? self[k].dup : self[k], @imported[k], @imported_by[k])
end
clone
end
end
end
+1 -1
View File
@@ -151,7 +151,7 @@ class Module
# Creates a fresh copy of an instantiated module
#
def replicant
obj = self.dup
obj = self.class.new
obj.generate_uuid
obj.datastore = self.datastore.copy
obj.user_input = self.user_input