Mega Code Archive

 
Categories / Ruby / Class
 

Add extension from a module for an object not class

class Person   attr_reader :name, :age, :occupation   def initialize(name, age, occupation)     @name, @age, @occupation = name, age, occupation   end   def isIn?     true   end end jimmy = Person.new('J', 21, 'reporter') clark = Person.new('C', 35, 'reporter') jimmy.isIn?                                     # => true clark.isIn?                                     # => true 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 clark.extend(SuperPowers) clark.superhero_name                          # => "Superman" clark.fly                                     # => "Flying!" clark.isIn?                                   # => false jimmy.isIn?                                   # => true