Module und Mixins

module Debug
  def whoAmI?
    puts "#{self.class.name} " + 
    "(\##{self.object_id}): #{self.to_s}"
  end
end

module Sample
  class Apfel
    include Debug
  end

  class Birne
    include Debug
  end

  def Sample.hallo
    puts "Modul-Methode hallo aufgerufen!"
  end
end

Sample::Apfel.new.whoAmI?
Sample::Birne.new.whoAmI?
Sample.hallo

Ergebnis:
Sample::Apfel (#537783840): #<Sample::Apfel:0x401bdc40>
Sample::Birne (#537783690): #<Sample::Birne:0x401bdb14>
Modul-Methode hallo aufgerufen!

iterator.rb