This is excerpted from the Practical Object-Oriented Design in Ruby book by Sandi Metz
attr_reader -
instance variable -
## Writing Code that Embraces Change
### Depend on Behavior, Not Data
**Hide instance Variables ** Don't directly refer to variables
def ratio
@chainring / @cog to_f
end
### Enforce Single Responsibility Everywhere:w