teenie-quaggard / rubyGildedRose

A refactor of the Gilded Rose kata in Ruby

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Refactor of the Gilded Rose kata in Ruby

Forked from https://github.com/emilybache/GildedRose-Refactoring-Kata

The purpose of this kata was to learn the basics of Ruby while also implementing the principles of test driven development with an inherited code base.

For an amazing example of how to complete this kata, check out: https://www.youtube.com/watch?v=8bZh5LMaSmE

πŸ€“ What I've learned

  • Basics of Ruby syntax
  • Classes vs. modules
    • Modules hold methods that can be passed and used across many classes. They cannot be instantiated.
  • Inheritance and the creation of subclasses
  • TDD cycle

πŸ™ˆ Questions I still have

  1. How to pass module methods to a class (include is not working)?
  2. What is the convention for storing constants in Ruby?
  3. Explanation of 'self' in Ruby
  4. How far should methods be modularized?

β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–’β–ˆβ–ˆβ–ˆβ–‘β”€β”€β”€β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–’β–’β–’β–’β–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–’β–’β–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–’β–ˆβ–ˆβ–‘ β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–’β–’β–’β–’β–ˆβ–ˆβ–ˆβ–’β–ˆβ–ˆβ–’β–ˆβ–ˆβ–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–‘β–’β–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–‘β–’β–’β–’β–ˆβ–ˆβ–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–ˆβ–’β–’β–’β–ˆβ–‘ β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–’β–’β–’β–’β–ˆβ–ˆβ–’β–’β–’β–‘β–“β–“β–’β–‘β–“β–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–’β–’β–’β–’β–ˆβ–ˆβ–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–ˆβ–’β–ˆβ–‘β–’β–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–’β–’β–’β–’β–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–ˆβ–ˆβ–“β–’β–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β–ˆβ–ˆβ–’β–’β–’β–’β–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–’β–’β–’β–’β–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–’β–’β–’β–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–’β–’β–’β–’β–’β–’β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–’β–’β–’β–ˆβ–ˆβ–’β–’β–’β–’β–’β–’β–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–’β–ˆβ–ˆβ–’β–’β–’β–’β–’β–’β–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β–ˆβ–ˆβ–’β–’β–’β–ˆβ–ˆβ–ˆβ–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–’β–’β–’β–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–’β–’β–’β–’β–ˆβ–ˆβ–ˆβ–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–ˆβ–ˆβ–ˆβ–“β–’β–’β–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–’β–’β–’β–’β–’β–’β–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–’β–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–’β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–“β”€β”€β–ˆβ–“β–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–‘β–ˆβ”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–“β–ˆβ”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ”€β”€β–ˆβ–ˆβ–“β–ˆβ–ˆβ–ˆβ–’β–“β–ˆβ–ˆβ–ˆβ–ˆ β”€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ”€β”€β”€β”€β”€β–ˆβ–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–’β–ˆβ–ˆβ–ˆβ–’β–ˆβ–ˆβ”€β”€β”€β”€β–ˆβ–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ”€β–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–“β–ˆβ”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–’β–ˆβ–“β–’β–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–“β–ˆβ–ˆβ”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–“β–ˆβ”€β”€β–ˆβ–ˆβ–’β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–’β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆβ–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–’β–ˆ β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–ˆβ–ˆβ–ˆ

About

A refactor of the Gilded Rose kata in Ruby


Languages

Language:Ruby 100.0%