Modelling bicycles and gear in ruby - An example taken from Practical Object-Oriented Design in Ruby Sandi Metz