Return a "complete" class


I have some problems with doing some kind of “my own controller” in
Ruby when returning a complete class.

Let’s say we start with the following:

I have a …

  • … model called Asset which has several attributes and methods.
  • … model called Picture which inherits from Asset (class Picture <
  • … model called Video which inherits from Asset

So far so good. In a gallery controller, I know trough a parameter for
which kind of assets a user wants to search (videos, pictures, …).
Now I had the following idea, which is not working for me and clearly
has some misunderstanding of OO. :slight_smile:

I created a class called Media which looks like this (pseudo-code):

class Media
def initialize(asset_type)
case asset_type
when “picture”
return Picture
when “video”
return Video

In my gallery-controller, I have a before-filter similar to:
params[:media] = picture
@media =[:media])

Later, I expect to do something like:

The important thing is, that I only want to see pictures!

I see that it is not possible to return a complete class definition.
Even returning a “” doesn’t give me my methods defined in
the Picture model. I also don’t expect to see @media.find(:all)
working, if @media was created with a

Does anybody has hints in which direction to look or how to solve this

Thanks in advance!



Looks like this will solve my problem. :slight_smile: