Seeing that these custom methods are used only in the context of a certain module class i request for a way to define a method foo on a module class a so that it will be visible only from within a specified module class.
Ruby monkeypatch method.
One of the coolest features in ruby is the existence of modules and the possibility of including their implementation in any object.
This simple behavior is the source of things like the enumerable module that gives you a bunch of methods to work with a collection of objects and just expects that the class that included it to define an each method.
The word guerrilla homophonous with gorilla or nearly so became monkey possibly to make the patch sound less intimidating.
You get confused about which code actually ran so you can t debug it when it breaks.
Stack level too deep because recursion.
Seeing that these custom methods are used only in the context of a certain module class i request for a way to define a method.
First off you should put created at in the create method.
You don t have to call time now advance days.
Second you need to call user reload in order for the changes from your rake task to be available.
The term monkey patch seems to have come from an earlier term guerrilla patch which referred to changing code sneakily and possibly incompatibly with other such patches at runtime.
One of the most powerful aspects of ruby is the ability to re open any class and change it s methods.
Some frameworks libraries monkeypatch their own methods on ruby core classes like string hash array etc and that is often causing problems concerns of name conflict.
The only way i could pass information around was to come up with some.
1 you can write 1 day ago.
You can write a flatten one level method but otherwise i think 18 is the best way.
When you first try ruby it s amazing.
Now this is obviously.
Destroy inverse of original tweet end tweet last destroy will now destroy dependents.
Until you hit weird bugs because a patch changed hash.
If you express the relation properly activerecord will do it for you class tweet belongs to original tweet class name.
An alternative etymology is that it refers to monkeying about.
Tweet has many retweets class name.
This includes the standard ruby classes like string array or hash.
Because the params hash is just a hash a mistake imho rather than a hashlike object you can t monkeypatch it easily.
It makes ruby a joy to read and write.
You can add methods right to core classes.