diff options
| author | Szymon Szukalski <szymon@skas.io> | 2024-10-24 13:28:16 +1100 |
|---|---|---|
| committer | Szymon Szukalski <szymon@skas.io> | 2024-10-24 13:28:16 +1100 |
| commit | 55475178a8c0e610103e37027cc0a7a387d72f91 (patch) | |
| tree | 8ff4f02905758dfd9ae658d7e312877fc7f0c4ac /lib | |
| parent | 3824dda1f184158c8946f02a4f2d533a17e95cd4 (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.rb | 15 | ||||
| -rw-r--r-- | lib/family_tree_manager.rb | 8 |
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 |
