Featured Items Listing

Hey All,

Say I have a website with articles and events and I want to create an
index of featured items which will have a mixture of articles and
events. I presume I'd create a FeaturedItem model/table with the
following:

featured_class <-- 'Article' or 'Event'
featured_id <-- id of Article or Event
position <-- position in featured list

When I pull the featured items from the database, I'm gonna wanna pull
the corresponding item from the featured_class table. What's the best
way to do this, other than:

if FeaturedItem.featured_class == 'Article'
  Article.find()...
elsif FeaturedItem.featured_class == 'Event'
  Event.find()...
end

Is there anyway to create functionality that will allow me to do
something like this:

FeaturedItem.featured_class.find()...

or something similar
???

Say I have a website with articles and events and I want to create an
index of featured items which will have a mixture of articles and
events. I presume I'd create a FeaturedItem model/table with the
following:

featured_class <-- 'Article' or 'Event'
featured_id <-- id of Article or Event
position <-- position in featured list

When I pull the featured items from the database, I'm gonna wanna pull
the corresponding item from the featured_class table. What's the best
way to do this, other than:

if FeaturedItem.featured_class == 'Article'
Article.find()...
elsif FeaturedItem.featured_class == 'Event'
Event.find()...
end

Is there anyway to create functionality that will allow me to do
something like this:

FeaturedItem.featured_class.find()...

class Article < ActiveRecord::Base
   has_one :featured_thing, :as => :featureable
end

class Event < ActiveRecord::Base
   has_one :featured_thing, :as => :featureable
end