URLs de roteamento do Rails em qualquer lugar

Isso é algo que acaba no app/libdiretório de quase todos os projetos Rails que gerencio. O crédito vai para a postagem original do blog de Adam Hawkins sobre o tópico, mas o código aqui foi ligeiramente modificado para ser usado como um singleton.

# Router.instance.posts_url  
# => http://localhost:3000/posts
# Router.instance.posts_path
# => /posts
class Router
include
Singleton
include
Rails.application.routes.url_helpers

def self.default_url_options
ActionMailer::Base.default_url_options
end
end