I want to prepend Kernel.rand
like this:
# I try something likemod = Module.new do def rand(*args) p "do something" super(*args) endendKernel.prepend(mod)
# And I expect this behaviourKernel.rand #> prints "do something" and returns random numberrand #> prints "do something" and returns random numberObject.new.send(:rand) #> prints "do something" and returns random number
Unfortunately, the code above does not work as I want to. Prepending Kernel.singleton_class
does not work too
It's not required to use prepend
feature, any suggestiion that will help to achieve the desired behaviour is welcome