I have a sweeper that reheats cache by opening urls in forked processes. It's easy enough to hard-code the host for those urls, but I want it to change dynamically, based on environment.
I know I can set global/environmental variables for this, but I'd really like to use named routes. Is there any way to do this?
(I should clarify that I've tried just putting the named routes in there but they don't resolve at runtime.)
The closest I found is:
Rails.application.routes.named_routes.get(:user).defaults
Which retrieves:
{:action=>"show", :controller=>"users"}
But you should merge it with your params:
Rails.application.routes.named_routes.get(:user).defaults.merge({:id => 1})
Result:
{:action=>"show", :controller=>"users", :id=>1}
Edit:
Simply add
include Rails.application.routes.url_helpers
to your class