X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;ds=sidebyside;f=app%2Fmodels%2Ffeed_item.rb;fp=app%2Fmodels%2Ffeed_item.rb;h=ce5b8c6c05e674dd46de604e79797cfdad41d305;hb=87b29f4f401626c3b21df387cf7cd75677ea56cf;hp=d875a8aa3bac6531e0c9d42dcfee0c2c1e44ff0c;hpb=02c0b78c15c33baab16d70467a05e1a024d7d80d;p=feedcatcher.git diff --git a/app/models/feed_item.rb b/app/models/feed_item.rb index d875a8a..ce5b8c6 100644 --- a/app/models/feed_item.rb +++ b/app/models/feed_item.rb @@ -1,2 +1,21 @@ 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