The knowledge gained from this adventure was totally worth it.
Ruby monkey patch super.
Ruby inheritance doesn t work that way.
Although i did not create a library i would expect people to use i learned a lot about how ruby works and had a great time solving the problem.
Subscribe to treehouse direct for new clips episodes and more.
This can cause unintended side effects or breakage of programs.
Max spends plenty of time in his super hero outfit.
Until ruby 2 0 there was no way to add code below a class only above it.
This is called a monkey patch.
Interface to patch package is slightly different see previous item for the cause.
Watch as he helps ruby and friends.
To check out the full results please visit my github profile.
This module is based on the wonderful monkey patch by paul driver.
You can monkey patch module kernel to get methods available in main.
Due to ruby s open classes you can redefine or add functionality to existing classes.
Monkey patching is a powerful feature of ruby however it affects globally in a program.
What changed in ruby 2 0.
Unfortunately the scope of such changes is global.
Therefore a monkey patch might break code which doesn t expect the extended behavior and multiple monkey patches for the same class might cause conflicts to solve these problems refinements provide a way to extend classes locally.
Grandma s berry patch backshall ruby wants to pick lots of berries from grandma s berry patch so grandma can make her surprise berry recipe.
All users of the monkey patched class see the same changes.
Ruby s open classes are powerful but can easily be misused.
Deprecation warnings and other warnings in ruby have a category deprecated etc but those categories aren t exposed or accessible.
This module adds the ability to add replace delete subroutines instead of just wrapping them.