X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=app%2Fmodels%2Ffeed_item.rb;h=6dac7bca5d29a6eab048eeaf331ebc21b5750f45;hb=9afca4a2a5790ed8842a7e5f0a3a3c716d28bb24;hp=75830a53f1f58287626fec37b24104aea36d4919;hpb=a5e58d33eef0f98067c18fba842fc5a3539d1c9a;p=feedcatcher.git diff --git a/app/models/feed_item.rb b/app/models/feed_item.rb index 75830a5..6dac7bc 100644 --- a/app/models/feed_item.rb +++ b/app/models/feed_item.rb @@ -5,15 +5,19 @@ class FeedItem < ActiveRecord::Base validates_presence_of :feed_name, :title, :description validate :feed_name_must_be_legal -private + def FeedItem.valid_feed_name?(feed_name) + Rack::Utils::escape(feed_name) == feed_name and + Rack::Utils::unescape(feed_name) == feed_name and + feed_name != 'index' and + feed_name != 'show' and + feed_name != 'update' and + feed_name != 'action' + end + + private def feed_name_must_be_legal - if Rack::Utils::escape(feed_name) != feed_name or - Rack::Utils::unescape(feed_name) != feed_name or - feed_name == 'index' or - feed_name == 'show' or - feed_name == 'update' or - feed_name == 'action' + unless FeedItem.valid_feed_name?(feed_name) errors.add(:feed_name, 'is an invalid feed name') end end