Mixins

Ruby Mixins

I've been playing around with Ruby's mixins today and It's really fun. Here's a snippet:

  1. module Greeter
  2.  
  3. def who_am_i?
  4. "#{self.class.name}"
  5. end
  6.  
  7. def greet
  8. puts "Hello #{@name}"
  9. end
  10.  
  11. end
  12.  
  13. class Student
  14.  
  15. def initialize(n)
  16. @name = n
  17. end
  18.  
  19. include Greeter
  20. end
  21.  
  22. class Teacher
  23.  
  24. def initialize(n)
  25. @name = n
  26. end
  27.  
  28. include Greeter
  29. end

Now fire up irb and do this:

Syndicate content