diff options
| author | Szymon Szukalski <szymon@skas.io> | 2024-10-25 11:34:27 +1100 |
|---|---|---|
| committer | Szymon Szukalski <szymon@skas.io> | 2024-10-25 11:34:27 +1100 |
| commit | 29fe91901a188af552a0bbaeb59eaf056fbe385d (patch) | |
| tree | 533a1e47bd5b9bdeb83e4ea70417b214bff26f9d /lib/family_tree.rb | |
| parent | 524064f6313bb62c54d51d4ca37825a878dbf1b6 (diff) | |
Remove equality checks due to infinite loop
Diffstat (limited to 'lib/family_tree.rb')
| -rw-r--r-- | lib/family_tree.rb | 5 |
1 files changed, 4 insertions, 1 deletions
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? } |
