This is my solution to the programming question.
I chose to do this in Ruby as it allows great support for hashes and weak typing which is ideal for this project.
This project only uses Ruby dependencies of 'active_support'.
To run the program as long as the ruby home path is set correctly the program should run.
Mark Mroz