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
Related examples in the same category