rendered paste bodyclass Rotator # not an ActiveRecord model attr_reader :id, :title Data = { 1 => 'main_page', 2 => 'music_page', 3 => 'events_page', } def self.all Data.keys.map{ |id| new(id) } end def self.find(id) raise "Couldn't find Rotator with ID=#{id}" unless Data[id.to_i] new(id.to_i) end # generate Rotator.main_page, ... methods Data.each_pair do |id, name| self.class.send(:define_method, name) { new(id) } end def to_param id.to_s end def initialize(id) @id = id @title = Data[id].humanize rescue nil end def images RotatorImage.all(:conditions => {:rotator_id => id}) endend