In Rails 3+, you can use:
class Project
delegate :url_helpers, to: 'Rails.application.routes'
def project_path
url_helpers.project_path(self)
end
end
For Rails 2, use the attached
Modularity
Archive
trait. It will give any Ruby class a method #url_writer
, on which you can call URL helpers:
class Foo
does 'write_urls'
def self.class_method
url_writer.session_path
end
def instance_method
url_writer.project_path(5)
end
end