All pastes #1861896 Raw Edit

filin

public text v1 · immutable
#1861896 ·published 2010-04-15 14:54 UTC
rendered paste body
class 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