Forum: Ruby on Rails controller utility method: want to use in tests. Where should it go?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
itsastickup (Guest)
on 2009-02-10 01:01
(Received via mailing list)
Hi,

I've a simple method I call in my action methods. So far I've put it
in application.rb in the ActionController class.

However I can't call it from my test code. Where should I be putting
it? I've tried adding this to application.rb :

module ActionController

  def handy
      return dostuff
  end

end

but it didn't work.

Is this possible?
Frederick Cheung (Guest)
on 2009-02-10 01:12
(Received via mailing list)
On 10 Feb 2009, at 00:01, itsastickup wrote:

>
>  def handy
>      return dostuff
>  end
>
> end
>
> but it didn't work.
>
> Is this possible?


adding a method to application.rb lets controllers call it because you
are adding a method to ApplicationController and your controllers
inherit from that.
In a test you are subclassing Test::Unit::TestCase (or more recently
ActiveSupport::TestCase or some other class if you are using a
different testing framework), so clearly you can't call and
ApplicationController instance method. Easiest thing is probably to
put the methods in a module and include it in both places.

Fred
itsastickup (Guest)
on 2009-02-10 01:21
(Received via mailing list)
Ok thanks
This topic is locked and can not be replied to.