class FeedItem < ActiveRecord::Base
+
+ require 'cgi' # needed for url decoding
+
+ validates_presence_of :feed_name, :title, :description
+ validate :feed_name_must_be_legal
+
+protected
+
+ def feed_name_must_be_legal
+ if url_encode(feed_name) != feed_name or
+ CGI::unescape(feed_name) != feed_name or
+ feed_name == 'index' or
+ feed_name == 'show' or
+ feed_name == 'update' or
+ feed_name == 'action'
+ errors.add(:feed_name, 'is an invalid feed name')
+ end
+ end
+
end