diff --git a/app/repositories/orient_db/learning_object/relation.rb b/app/repositories/orient_db/learning_object/relation.rb index f56115f8376769293f9a8cda26c5d00be323b3f6..a80bb39718fdfd30c582c201c399ae7d2b423ad6 100644 --- a/app/repositories/orient_db/learning_object/relation.rb +++ b/app/repositories/orient_db/learning_object/relation.rb @@ -3,8 +3,9 @@ module OrientDb class Relation < OrientDb::Relation include OrientDb::Methods::EdgeMethods - def initialize(learning_object) + def initialize(learning_object, connection) @learning_object = learning_object + @connection = connection end end diff --git a/app/repositories/orient_db/learning_object/relations_chain.rb b/app/repositories/orient_db/learning_object/relations_chain.rb index c5aa198dd9c3e343ebbe31075416f26649282c02..6f6726b0f5a92a6cb1d9a8e731053a6c183865dd 100644 --- a/app/repositories/orient_db/learning_object/relations_chain.rb +++ b/app/repositories/orient_db/learning_object/relations_chain.rb @@ -4,9 +4,9 @@ module OrientDb def relations [ - OrientDb::LearningObject::SubjectsRelations.new(object), - OrientDb::LearningObject::AttributesRelations.new(object), - OrientDb::LearningObject::PublisherRelation.new(object) + OrientDb::LearningObject::SubjectsRelations.new(object, connection), + OrientDb::LearningObject::AttributesRelations.new(object, connection), + OrientDb::LearningObject::PublisherRelation.new(object, connection) ] end diff --git a/app/repositories/orient_db/relation.rb b/app/repositories/orient_db/relation.rb index 2d2bbcbacdcd6a487b5ea171abf8600d9e7a1474..e13dc2fc98dfffa2f17cdfb7a1dec83d0489d92d 100644 --- a/app/repositories/orient_db/relation.rb +++ b/app/repositories/orient_db/relation.rb @@ -2,7 +2,7 @@ module OrientDb ##abstract class Relation class Relation - + def can_create? raise NotImplementedError, 'Relation#can_execute? is an abstract method.' end @@ -13,6 +13,8 @@ module OrientDb protected + attr_accessor :connection + def execute raise NotImplementedError, 'Relation#execute is an abstract method.' end diff --git a/app/repositories/orient_db/relation_chain.rb b/app/repositories/orient_db/relation_chain.rb index 28f04db1064d9303eec7fa97d0311697a808ff68..fae4ba62d9f3ddab69297da180ec33a57f432f49 100644 --- a/app/repositories/orient_db/relation_chain.rb +++ b/app/repositories/orient_db/relation_chain.rb @@ -1,9 +1,10 @@ module OrientDb class RelationChain - attr_reader :object + attr_reader :object, :connection - def initialize(object) + def initialize(object, connection) @object = object + @connection = connection end def create diff --git a/app/repositories/orient_db/subject/relation.rb b/app/repositories/orient_db/subject/relation.rb index df88a69c76714eadcaf609221966f0a6632e8758..9dad6a50f4cc3d4ce83c89fe7af49625f16329bb 100644 --- a/app/repositories/orient_db/subject/relation.rb +++ b/app/repositories/orient_db/subject/relation.rb @@ -3,8 +3,9 @@ module OrientDb class Relation < OrientDb::Relation include OrientDb::Methods::EdgeMethods - def initialize(subject) + def initialize(subject, connection) @subject = subject + @connection = connection end end diff --git a/app/repositories/orient_db/subject/relations_chain.rb b/app/repositories/orient_db/subject/relations_chain.rb index 3ef3ba941ec1076d717a2f86c0fa11c4525bcd32..fb26cf899a06b13294b55a37f9cf347943580e9e 100644 --- a/app/repositories/orient_db/subject/relations_chain.rb +++ b/app/repositories/orient_db/subject/relations_chain.rb @@ -4,8 +4,8 @@ module OrientDb def relations [ - OrientDb::Subject::SubtopicsRelations.new(object), - OrientDb::Subject::SupertopicsRelations.new(object) + OrientDb::Subject::SubtopicsRelations.new(object, connection), + OrientDb::Subject::SupertopicsRelations.new(object, connection) ] end