f18374f42fa66027a85e18eafd37c34a8db551dc
[feedcatcher.git] / app / models / feed_item.rb
1 class FeedItem < ActiveRecord::Base
2
3 # require 'cgi' # needed for url decoding
4
5 validates_presence_of :feed_name, :title, :description
6 validates_uniqueness_of :title, :scope => :feed_name
7 validate :feed_name_must_be_legal
8
9 def FeedItem.valid_feed_name?(feed_name)
10 Rack::Utils::escape(feed_name) == feed_name and
11 Rack::Utils::unescape(feed_name) == feed_name and
12 feed_name != 'index' and
13 feed_name != 'show' and
14 feed_name != 'update' and
15 feed_name != 'action'
16 end
17
18 private
19
20 def feed_name_must_be_legal
21 unless FeedItem.valid_feed_name?(feed_name)
22 errors.add(:feed_name, 'is an invalid feed name')
23 end
24 end
25
26 end