It's when you teach object orientation - the fully Monty, including inheritance, static and dynamic methods and variables, and so on - to a complete novice to programming and
that person finds it's one of the easiest parts of the course that you realise:
a) Just how many bad ole habits us ancient structure programmers have gotten ourselves into and ...
b) What an excellent and natural Object system languages like Ruby have. T hat's as compared to C++ with a bevy of files, Java with so much security it obscures the simplicity, or Perl with so many options and so much ability to sidestep objects. (Python has a similar, and great, philosophy too)
Here are the 'second level' examples from today - not the basic object stuff, which you'll find if you look back a couple of days.
[link] Single class example for extension by inheritance
[link] Object and Class variables (dynamic and static)
[link] Static Method in Ruby
[link] Inheritance in Ruby
(written 2009-07-16, updated 2009-07-17)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
R108 - Ruby - More Classes and Objects [184] MTBF of coffee machines - (2005-01-20)
[656] Think about your design even if you don't use full UML - (2006-03-24)
[1217] What are factory and singleton classes? - (2007-06-04)
[1587] Some Ruby programming examples from our course - (2008-03-21)
[2601] Ruby - is_a? v instance_of? - what is the difference? - (2010-01-27)
[2603] Ruby objects - a primer - (2010-01-29)
[2604] Tips for writing a test program (Ruby / Python / Java) - (2010-01-29)
[2616] Defining a static method - Java, Python and Ruby - (2010-02-01)
[2620] Direct access to object variable (attributes) in Ruby - (2010-02-02)
[2623] Object Oriented Ruby - new examples - (2010-02-03)
[2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
[2977] What is a factory method and why use one? - Example in Ruby - (2010-09-30)
[2980] Ruby - examples of regular expressions, inheritance and polymorphism - (2010-10-02)
[3142] Private and Public - and things between - (2011-01-22)
[3154] Changing a class later on - Ruby - (2011-02-02)
[3158] Ruby training - some fresh examples for string handling applications - (2011-02-05)
[3260] Ruby - a training example that puts many language elements together to demonstrate the whole - (2011-04-23)
[3760] Why you should use objects even for short data manipulation programs in Ruby - (2012-06-10)
[3781] Private, Protected, Public in Ruby. What about interfaces and abstract classes in Ruby? - (2012-06-23)
[3782] Standard methods available on all objects in Ruby - (2012-06-23)
[4366] Changing what operators do on objects - a comparison across different programming languages - (2014-12-26)
[4504] Where does Ruby load modules from, and how to load from current directory - (2015-06-03)
[4550] Build up classes into applications sharing data types in Ruby - (2015-10-23)
[4551] Testing your new class - first steps with cucumber - (2015-10-23)
R105 - Ruby - Classes and Objects [983] Blessing in Perl / Member variable in Ruby - (2006-12-14)
[1925] Introduction to Object Oriented Programming - (2008-12-06)
[2609] Scope of variables - important to Ruby on Rails - (2010-01-31)
[2651] Calculation within objects - early, last minute, or cached? - (2010-02-26)
[3421] Ruby off the Rails? - (2011-09-06)
[4009] Clear, concise examples - Ruby classes and objects. - (2013-02-17)
[4502] Reading and parsing a JSON object in Ruby - (2015-06-01)
Some other Articles
Variable scope - what is it, and how does it Ruby?The dog is not in troubleCan you learn to program in 4 days?Regular Expressions in RubyObject Orientation in Ruby - intermediate examplesCollection objects (array and hash) in RubyOpening and reading files - the ruby fundamentalspre-Inaugural briefing - Melksham Community Area PartnershipWiltshire Community Area PartnershipsLearning to program in Ruby - examples of the programming basics