Everything in ruby is an object.  Everything in ruby inherits from Basic Object.  If you create an object without a parent it automatically inherits from Object - which is the root of most things.  Basic Object was created in 1.9 for meta programming and is a really really blank sheet for Ruby object classes.
you can override inherited methods simply by redefining them in the child class.
created a server that was a subclass of teh GServer class.  very cool.  all i had to do was specify the IP address it was on and it was up adn running!  neat demonstration of inheritance.  also learned wherer the system log is stored /var/log/system.log
modules are used to create mixins.  mixins are a way to add instance methods to your objects.  if your module is is another file you must first require it, and then include it in your class.  you place the include statment right below your class declaration.
module mixins are really neat.  in this example we included the Comparable module which requires that you define the <=> operator, mainly by telling it what to compare, in this case self.name <=> other.name - interesting how in defining it <=>(other) we actually call the operator <=> but thats because <=>(other) is the whole name, or rather <=>(somthing), lol, pretty cool.  use include Comparable, attr_reader :name, and Person.new
module mixins are really neat.  in this example we included the Comparable module which requires that you define the <=> operator, mainly by telling it what to compare, in this case self.name <=> other.name - interesting how in defining it <=>(other) we actually call the operator <=> but thats because <=>(other) is the whole name, or rather <=>(somthing), lol, pretty cool.  use include Comparable, attr_reader :name, and Person.new