def show
- if valid_feed_name?(params[:feed_name])
+ if FeedItem::valid_feed_name?(params[:feed_name])
@feed_items = FeedItem.find_all_by_feed_name(params[:feed_name])
@feed_name = params[:feed_name]
respond_to do |format|
def update
- if valid_feed_name?(params[:feed_name])
+ if FeedItem::valid_feed_name?(params[:feed_name])
item = FeedItem.find_by_feed_name_and_title(params[:feed_name], params[:title])
if item
if params[:description] == ''
private
- def 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
-
def create_item
item = FeedItem.new(:feed_name => params[:feed_name],
def destroy_item(item)
if item.destroy
- flash[:notice] = "Element #{params[:title]} destroyed"
+ flash[:notice] = "Element #{params[:title]} deleted"
respond_to do |format|
format.html { redirect_to feed_url(params[:feed_name]) }
format.rss { head :ok }
end
else
- flash[:notice] = "Element #{params[:title]} could not be destroyed"
+ flash[:notice] = "Element #{params[:title]} could not be deleted"
respond_to do |format|
format.html { redirect_to feed_url(params[:feed_name]) }
format.rss { head :unprocessable_entity }
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