Added routes and forms. No update action as yet.
[feedcatcher.git] / app / models / feed_item.rb
index d875a8aa3bac6531e0c9d42dcfee0c2c1e44ff0c..ce5b8c6c05e674dd46de604e79797cfdad41d305 100644 (file)
@@ -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