From 29fe91901a188af552a0bbaeb59eaf056fbe385d Mon Sep 17 00:00:00 2001 From: Szymon Szukalski Date: Fri, 25 Oct 2024 11:34:27 +1100 Subject: Remove equality checks due to infinite loop --- lib/family_tree.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lib/family_tree.rb') diff --git a/lib/family_tree.rb b/lib/family_tree.rb index 908cb65..5ba8c72 100644 --- a/lib/family_tree.rb +++ b/lib/family_tree.rb @@ -35,9 +35,12 @@ class FamilyTree # @return [String] 'CHILD_ADDED' if the child is added successfully, 'CHILD_ADDITION_FAILED' otherwise. def add_child(mothers_name, name, gender) result = find_person_in_families(mothers_name) + parent = result[:person] parent_of_family = result[:parent_of_family] - return 'CHILD_ADDITION_FAILED' if parent_of_family.nil? || parent_of_family.mother.is_a?(NilPerson) + if parent_of_family.nil? || parent_of_family.mother.is_a?(NilPerson) || parent_of_family.father.eql?(parent) + return 'CHILD_ADDITION_FAILED' + end return 'CHILD_ADDITION_FAILED' if parent_of_family.children.any? { |child| child.name.casecmp(name).zero? } -- cgit v1.2.3