Question: I wan to override the destroy and the destroy\_all, and the delete and the delete\_all methods in rails to accomplish soft deletion (set active bit to false), without using any plugin for that. I want to run the before\_destroy filter in these actions where appropriate. So how can i run the before\_destroy hook, and other such hooks, programmatically from rails code? As a side question, what other detail should i be aware of when trying to monkeypatch an activerecord method like destroy, destroy\_all etc?

Answer: 
I think you want to follow the hard way :) Maybe a gem like <https://github.com/JackDanger/permanent_records> could help you to solve your problem.
There is a similar SO question, whose answer might be of help:

[My custom destroy method does not trigger the default before and after destroy callbacks](https://stackoverflow.com/questions/1942390/my-custom-destroy-method-does-not-trigger-the-default-before-and-after-destroy-ca#answers-header)

self.class.before\_destroy\_callback\_chain and the self.class.after\_destroy\_callback\_chain can give the list of methods to call. but dont know if this is the complete answer or not.