Ruby Golf
Requirements
- Ruby 2.1.1
- RSpec 2.14
Setup
- Fork https://github.com/nottombrown/rubygolf to your own github account.
- Clone it to your local machine
- Install gems:
cd rubygolf; bundle
How to play
Ruby Golf is a game whereby the player is required to solve a number of problems (holes) in the fewest characters possible. The course consists of nine holes that you must implement. The holes are static methods that need to be written for the Golf class (lib/golf.rb). The requirements for these methods is specified by a set of RSpec examples for each hole (spec/golf_spec.rb). To run the specs, simply run:
bundle exec rake
The first time you run this, all tests will fail. The aim is to get all test to pass. Building will also report the number of characters you took to complete the course. The fewer characters you use, the better.
- The winning team must have completed all holes (with all tests passing).
- If more than one team completes all holes, the winner is the team with fewest characters in the Golf class.
- Teams will then be ranked by number of holes completed.
Example - course complete
rubygolf git:(master) ✗ rake
...........................
Finished in 0.00462 seconds
27 examples, 0 failures
-----------------------------------------------
| Congratulations, you've completed the course.
| Total characters: 522
-----------------------------------------------
Rules
- Whitespace isn't counted
- No requires, includes, backticks etc. Use only the ruby standard library.
- Metaprogramming is allowed (for the Golf class only)
- The only file you are allowed to modify is lib/golf.rb
- No hard-coding return values!
- If in doubt, ask.