class Base
def sam
"I m the base"
end
def self.inherited(base)
alias_method :old_sam, :sam
base.class_eval do
def sam
old_sam
p "Inside inherited"
end
end
super
end
end
class Derived < Base
def sam
p "Inside Derived"
end
end
when Derived.new.sam => "Inside Derived"
But I expect
"Inside Derived"
"Inside inherited"
New to ruby. Any help will be greatly appreciated.