From 05fda6c29f0fe4742b7ea6b237ea98f737b68b8b Mon Sep 17 00:00:00 2001 From: Szymon Szukalski Date: Fri, 25 Oct 2024 10:00:36 +1100 Subject: Document code with YARD --- lib/relationship_manager.rb | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/relationship_manager.rb') diff --git a/lib/relationship_manager.rb b/lib/relationship_manager.rb index 08d87e1..30dfd94 100644 --- a/lib/relationship_manager.rb +++ b/lib/relationship_manager.rb @@ -2,9 +2,18 @@ require 'singleton' +# RelationshipManager class to manage relationships between people. +# This class follows the Singleton pattern to ensure there is only one instance +# of the relationship manager throughout the application. class RelationshipManager include Singleton + # Links two people as spouses. + # + # @param person1 [Person] The first person to link. + # @param person2 [Person] The second person to link. + # @raise [RuntimeError] if either person is already linked to someone else. + # @return [void] def link_spouses(person1, person2) # Check if either person is already linked to someone else if person1.spouse != NilPerson.new && person1.spouse != person2 -- cgit v1.2.3