Functionality |
Application is robust and can handle a variety of inputs including invalid inputs and completes iteration 4 |
Application adheres to the flow outlined in the specification and can handle a variety of valid inputs (not just what is outlined in spec). Iteration 3 is complete. |
Only up to Iteration 2 is complete or the application does not follow the flow outlined in the specification. |
Iteration 2 is not complete. |
Ruby Mechanics |
Project includes appropriate uses of hashes and enumerables not covered in class |
Appropriately uses Ruby’s built in datatypes and methods, flow control, and enumerables. |
Does not appropriately use one or two of the following: Ruby’s built in datatypes and methods, flow control, and enumerables |
Does not appropriately use Ruby’s built in datatypes and methods, flow control, and enumerables, or does not build classes |
Ruby Conventions |
Classes, methods, and variables are well named so that they clearly communicate their purpose. Code is all properly indented and syntax is consistent. |
Code is mostly properly indented, spaced, and lines are not excessively long. Class, method, variable, and file names follow convention |
Code demonstrates some proper indenting and spacing. Class, method, variable, and file names inconsistently follow convention |
Code is not properly indented and spaced and lines are excessively long. Class, method, variable, and file names do not follow convention |
Testing |
All methods that do not require command line input/output are accurately tested. Best use assertions are made. |
Each class has its own test file. Every method listed on the specification is tested. Most tests are written to accurately verify expected behavior. |
Tests are written for most methods listed on the specification, but the tests may be in an incorrect location or the tests may not accurately verify the expected behavior |
Fewer than 7 tests written (in addition to the card tests provided) |
Version Control |
At least 30 commits. At least 3 pull requests. Commit messages and Pull Request documentation clearly indicate changes made. |
Code is hosted on main branch of Github repository. At least 20 commits. At least 1 pull request. |
Code is hosted on Github, but has fewer than 20 commits or has no pull requests |
Code is not hosted on Github |