I had a lot of fun with this project. Most of it came very easily to me. I tried to work on DRY but I am realizing the benefits of working with a team. With a team, people come up with so many different ways to solve code and can see simple ways to make your code better quality. Sometimes it is really hard to see them yourself. I tried to solve the crack method several different ways but I did not have much luck.
3/3.5 - I was not able to implement crack. I have a branch trying several different ways but nothing was succeeding. My command line interface is successfully implemented.
4 - I used three different modules within my Enigma class to split up code for better readability.
3.5 - All of my methods are under 10 lines. I tried to name things well but I kind of struggle with that. While I do think everything is working properly, I know there has to be better and more efficient ways to write some of my code.
4 - Everything is tested properly and I was able to use doubles and mocks to test my modules. SimpleCov has 100% coverage.