Redoing Object Orientation

I'm redoing all the Ruby labs for Object Orientation

Even though I made it to the final projects, I feel as though I've stumbled my way through a lot of the lessons, not fully grasping the concepts. I have to wrap my head around the abstract constructs of object orientation, so before I move on, I've decided I'm going to go back. 

Some of these topics include: Classes, Modules, Inheritance, "Self", Attribute Accessor/Reader/Writer, Initialization, Instance Methods, Class Methods, Instance Variables, Class Variables, Has Many/Has Many Through/Belongs To, Metaprogramming, Custom Errors...