From 798c6e465c4d7b771de21e582c87d960cecef5b4 Mon Sep 17 00:00:00 2001 From: Martin Emde Date: Tue, 29 Dec 2009 16:18:23 -0800 Subject: [PATCH] Fix a bug where calling Model.repositories fails because of a bad self referential relationship that was loaded earlier in the code. Closes #1171 --- lib/dm-core/model/property.rb | 1 + lib/dm-core/query.rb | 4 ++-- spec/semipublic/query_spec.rb | 12 ++++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/dm-core/model/property.rb b/lib/dm-core/model/property.rb index 2d21f3fd..5c6634bf 100644 --- a/lib/dm-core/model/property.rb +++ b/lib/dm-core/model/property.rb @@ -109,6 +109,7 @@ def properties(repository_name = default_repository_name) # TODO: create PropertySet#copy that will copy the properties, but assign the # new Relationship objects to a supplied repository and model. dup does not really # do what is needed + assert_kind_of 'repository_name', repository_name, Symbol default_repository_name = self.default_repository_name diff --git a/lib/dm-core/query.rb b/lib/dm-core/query.rb index c7d16e27..a19f5f39 100644 --- a/lib/dm-core/query.rb +++ b/lib/dm-core/query.rb @@ -1418,8 +1418,8 @@ def self_relationship_options { :child_key => keys, :parent_key => keys, - :child_repository_name => repository, - :parent_repository_name => repository, + :child_repository_name => repository.name, + :parent_repository_name => repository.name, } end diff --git a/spec/semipublic/query_spec.rb b/spec/semipublic/query_spec.rb index d2c3b8b0..51936620 100644 --- a/spec/semipublic/query_spec.rb +++ b/spec/semipublic/query_spec.rb @@ -1455,8 +1455,8 @@ class ::Other { :child_key => @key.map { |p| p.name }, :parent_key => @key.map { |p| p.name }, - :child_repository_name => @repository, - :parent_repository_name => @repository, + :child_repository_name => @repository.name, + :parent_repository_name => @repository.name, } ) @@ -1952,8 +1952,8 @@ class ::Other { :child_key => @key.map { |p| p.name }, :parent_key => @key.map { |p| p.name }, - :child_repository_name => @repository, - :parent_repository_name => @repository, + :child_repository_name => @repository.name, + :parent_repository_name => @repository.name, } ) @@ -3087,8 +3087,8 @@ class ::Other { :child_key => @key.map { |p| p.name }, :parent_key => @key.map { |p| p.name }, - :child_repository_name => @repository, - :parent_repository_name => @repository, + :child_repository_name => @repository.name, + :parent_repository_name => @repository.name, } )