summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSzymon Szukalski <szymon@skas.io>2024-10-24 13:28:16 +1100
committerSzymon Szukalski <szymon@skas.io>2024-10-24 13:28:16 +1100
commit55475178a8c0e610103e37027cc0a7a387d72f91 (patch)
tree8ff4f02905758dfd9ae658d7e312877fc7f0c4ac /lib
parent3824dda1f184158c8946f02a4f2d533a17e95cd4 (diff)
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
Diffstat (limited to 'lib')
-rw-r--r--lib/family_tree.rb15
-rw-r--r--lib/family_tree_manager.rb8
2 files changed, 20 insertions, 3 deletions
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