For Functionality I would give myself a 2.7. I still don't understand command line interface very well and would like to understand its purpose. I'm still unsure how why I have to use it and how I could implement that into future projects. However, I successfully implemented the methods for decryption and encryption on my Enigma class. Everything was running smoothly.
For OOP I would also give myself a 2.9. I think that my encrypt and decrypt methods might have been a little too long, although I did set up some helper methods to break down the longer methods. The code is organized and very logical.
For Ruby Conventions and Mechanics I would give myself a 3 because my methods were longer than 10 lines. Besides that, syntax is consistent and I used hashes.
For TDD I would give myself a 3 because I did not use mocks and stubs. My git history shows that I was writing tests before code.
For Version Control I would give myself a 4 because I did a great job at committing (above 40 commits), branching, and pull requests.