From 55475178a8c0e610103e37027cc0a7a387d72f91 Mon Sep 17 00:00:00 2001 From: Szymon Szukalski Date: Thu, 24 Oct 2024 13:28:16 +1100 Subject: Define FamilyTree - Implemented basic FamilyTree which will hold all the people and perform actions on them - Updated the FamilyTree Manager to create an instance of the FamilyTree - Updated the FamilyTreeManager to call the add_child and query_hierarchy methods on the FamilyTree - Update tests --- lib/family_tree.rb | 15 +++++++++++++++ lib/family_tree_manager.rb | 8 +++++--- 2 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 lib/family_tree.rb (limited to 'lib') diff --git a/lib/family_tree.rb b/lib/family_tree.rb new file mode 100644 index 0000000..934d32e --- /dev/null +++ b/lib/family_tree.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +class FamilyTree + def initialize + @people = [] + end + + def add_child(*params) + puts "Adding Child with params: #{params.join(', ')}" + end + + def query_hierarchy(*params) + puts "Querying Hierarcy with params: #{params.join(', ')}" + end +end diff --git a/lib/family_tree_manager.rb b/lib/family_tree_manager.rb index 6b0bc12..56ab992 100644 --- a/lib/family_tree_manager.rb +++ b/lib/family_tree_manager.rb @@ -2,18 +2,20 @@ require 'singleton' +require_relative 'family_tree' + class FamilyTreeManager include Singleton def initialize - @family_members = {} + @family_tree = FamilyTree.new end def add_child(*params) - puts "Adding Child with params: #{params.join(', ')}" + @family_tree.add_child(*params) end def query_hierarchy(*params) - puts "Querying Hierarcy with params: #{params.join(', ')}" + @family_tree.query_hierarchy(*params) end end -- cgit v1.2.3