Ruby offers monkey patching methods in order to change the behavior of a library if there's no better way.
We can call the method we're overriding inside our monkey patch:
class Foo
def bar(argument)
'Hello' + argument
end
end
module FooExtensions
def bar
super(' in my') + ' World'
end
end
class Foo
prepend FooExtensions # the only change to above: prepend instead of include
end
Foo.new.bar # => 'Hello in my World'
As mentioned, monkey patches are usually a threat to your code quality, so try to avoid them if possible.
Further readings
For a better understanding have a look at this article Show archive.org snapshot .
Posted by Jakob Scholz to makandra dev (2021-01-08 07:12)