I know this is a bad idea, but I have lots of legacy code and I want to run through some historical batch jobs. I dont want to change the systems date because other stuff runs on the same system. Is there any way that I can change the value that Date.today will return for the life of a given process only. The idea here is to rewind and run some older batch scripts that were used to work off of Date.today.
thanks
Joel
You can either monkey-patch Ruby like Nikolaus showed you, or can use the TimeCop gem. It was designed to make writing tests easier, but you can use it in your normal code as well.
It’s a great, but simple piece of code. Give it a try, it’ll save you some headaches when monkeypatching Date and Time yourself.
Link: https://rubygems.org/gems/timecop