Mega Code Archive

 
Categories / Ruby / Class
 

Extending Specific Objects with Modules

class Person   attr_reader :name, :age, :occupation   def initialize(name, age, occupation)     @name, @age, @occupation = name, age, occupation   end   def mild_mannered?     true   end end module SuperPowers   def fly     'Flying!'   end   def leap(what)     "Leaping #{what} in a single bound!"   end   def mild_mannered?     false   end   def superhero_name     'Superman'   end end class Person   extend SuperPowers end # which is equivalent to: Person.extend(SuperPowers) Person.superhero_name                   # => "Superman" Person.fly                              # => "Flying!"