Creating stable branch
authorNeil Smith <neil.git@njae.me.uk>
Wed, 22 Jul 2009 12:51:03 +0000 (12:51 +0000)
committerNeil Smith <neil.git@njae.me.uk>
Wed, 22 Jul 2009 12:51:03 +0000 (12:51 +0000)
22 files changed:
app/controllers/feed_controller.rb
app/models/feed_item.rb
app/views/feed/show.html.erb
app/views/feed/show.rss.builder
app/views/feed/update.html.erb [deleted file]
app/views/layouts/application.html.erb
boot.rb [deleted file]
database.sample.yml [deleted file]
environment.rb [deleted file]
environments/development.rb [deleted file]
environments/production.rb [deleted file]
environments/test.rb [deleted file]
heaaders.txt [new file with mode: 0644]
headers.txt [new file with mode: 0644]
initializers/backtrace_silencers.rb [deleted file]
initializers/inflections.rb [deleted file]
initializers/mime_types.rb [deleted file]
initializers/new_rails_defaults.rb [deleted file]
initializers/session_store.rb [deleted file]
locales/en.yml [deleted file]
public/stylesheets/feedcatcher.css [new file with mode: 0644]
routes.rb [deleted file]

index 71ab1df4f829d2530acf4163143ab6a042481099..2d6fee9786f62166fb4414cef8fa241c67c7f96c 100644 (file)
@@ -10,29 +10,115 @@ class FeedController < ApplicationController
     end
   end
 
+  
   def show
-    @feed_items = FeedItem.find_all_by_feed_name(params[:feed_name])
-    redirect_to index_url if @feed_items == []
-    respond_to do |format|
-      format.html
-      format.rss { render :layout => false }
+    if 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|
+        if @feed_items == []
+          flash[:notice] = "No items in feed #{params[:feed_name]}"
+          format.html { redirect_to index_url }
+          format.rss  { render :layout => false }
+        else
+          format.html
+          format.rss { render :layout => false }
+        end
+      end
+    else
+      respond_to do |format|
+        flash[:notice] = "Invalid feed name"
+        format.html { redirect_to index_url }
+        format.rss  { head :not_found}
+      end
     end
   end
 
+
   def update
-    item = FeedItem.find_by_feed_name_and_title(params[:feed_name], params[:title])
-    if item
-      if params[:description] == ''
-        item.destroy
+    if valid_feed_name?(params[:new_feed_name])
+      item = FeedItem.find_by_feed_name_and_title(params[:new_feed_name], params[:title])
+      if item
+        if params[:description] == ''
+          destroy_item(item)
+        else
+          update_item(item)
+        end
       else
-        item.update_attribute(:description, params[:description])
+        create_item
+      end
+    else
+      respond_to do |format|
+        flash[:notice] = "Invalid feed name"
+        format.html { redirect_to index_url }
+        format.rss  { head :not_found }
+      end
+    end
+  end
+  
+
+  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[:new_feed_name],
+      :title => params[:title],
+      :description => params[:description])
+    item.save!
+    flash[:notice] = "Element #{params[:title]} created"
+    respond_to do |format|
+      format.html { redirect_to feed_url(params[:new_feed_name]) }
+      format.rss  { head :ok }
+    end
+  rescue ActiveRecord::RecordInvalid => error
+    flash[:notice] = "Element #{params[:title]} could not be created"
+    respond_to do |format|
+      format.html { redirect_to feed_url(params[:new_feed_name]) }
+      format.rss  { head :unprocessable_entity }
+    end
+  end
+
+
+  def update_item(item)
+    if item.update_attribute(:description, params[:description])
+      flash[:notice] = "Element #{params[:title]} updated"
+      respond_to do |format|
+        format.html { redirect_to feed_url(params[:new_feed_name]) }
+        format.rss  { head :ok }
       end
     else
-      FeedItem.create(:feed_name => params[:feed_name],
-        :title => params[:title],
-        :description => params[:description])
+      flash[:notice] = "Element #{params[:title]} could not be updated"
+      respond_to do |format|
+        format.html { redirect_to feed_url(params[:new_feed_name]) }
+        format.rss  { head :unprocessable_entity }
+      end
+    end
+  end
+
+
+  def destroy_item(item)
+    if item.destroy
+      flash[:notice] = "Element #{params[:title]} destroyed"
+      respond_to do |format|
+        format.html { redirect_to feed_url(params[:new_feed_name]) }
+        format.rss  { head :ok }
+      end
+    else
+      flash[:notice] = "Element #{params[:title]} could not be destroyed"
+      respond_to do |format|
+        format.html { redirect_to feed_url(params[:new_feed_name]) }
+        format.rss  { head :unprocessable_entity }
+      end
     end
-    redirect_to feed_url(params[:feed_name])
   end
 
 end
index cf01358f8ee2b01e5361b4d664ceeb1ea760199c..75830a53f1f58287626fec37b24104aea36d4919 100644 (file)
@@ -5,7 +5,7 @@ class FeedItem < ActiveRecord::Base
   validates_presence_of :feed_name, :title, :description
   validate :feed_name_must_be_legal
 
-protected
+private
 
   def feed_name_must_be_legal
     if Rack::Utils::escape(feed_name) != feed_name or
index 2a2b9b1daaaad4094886073444761803d9270618..739584cda210b9f511d97ef9ef0ef7a16f195792 100644 (file)
@@ -2,7 +2,7 @@
 <p><%= link_to("List of all feeds", index_url) %></p>
 
 <% form_tag :action => 'update' do %>
-  <p>Set feed <%= text_field_tag :feed_name, h(params[:feed_name]), :size => 20 %>
+  <p>Set feed <%= text_field_tag :new_feed_name, h(params[:feed_name]), :size => 20 %>
     to include <%= text_field_tag :title, '', :size => 30 %>
     containing  <%= text_field_tag :description, '', :size => 50 %>
     <%= submit_tag 'Update' %></p>
index 522b66277949550c115269fe0a305b36f1452059..7fdfe205b8f2afe4094a5b4ae6e535c26370aff0 100644 (file)
@@ -2,8 +2,8 @@
 xml.instruct! :xml, :version => "1.0"
 xml.rss :version => "2.0" do
   xml.channel do
-    xml.title @feed_items[0].feed_name
-    xml.link feed_url(@feed_items[0].feed_name, :rss)
+    xml.title @feed_name
+    xml.link feed_url(@feed_name, :rss)
 
     for item in @feed_items
       xml.item do
diff --git a/app/views/feed/update.html.erb b/app/views/feed/update.html.erb
deleted file mode 100644 (file)
index 96fff67..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-<h1>Feed#update</h1>
-<p>Find me in app/views/feed/update.html.erb</p>
index ee2975d78194cae95b2509ff0fe4b1cd246f4f88..1599adb0cc371ff7dd1d8f0205811fa415c56999 100644 (file)
@@ -1,8 +1,12 @@
 <html>
   <head>
     <title>Feedcatcher</title>
+    <%= stylesheet_link_tag "feedcatcher", :media => :all %>
   </head>
   <body>
+    <% if flash[:notice] -%>
+      <div id="notice"><%= flash[:notice] %></div>
+    <% end -%>
     <%= yield :layout %>
   </body>
 </html>
diff --git a/boot.rb b/boot.rb
deleted file mode 100644 (file)
index 0ad0f78..0000000
--- a/boot.rb
+++ /dev/null
@@ -1,110 +0,0 @@
-# Don't change this file!
-# Configure your app in config/environment.rb and config/environments/*.rb
-
-RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT)
-
-module Rails
-  class << self
-    def boot!
-      unless booted?
-        preinitialize
-        pick_boot.run
-      end
-    end
-
-    def booted?
-      defined? Rails::Initializer
-    end
-
-    def pick_boot
-      (vendor_rails? ? VendorBoot : GemBoot).new
-    end
-
-    def vendor_rails?
-      File.exist?("#{RAILS_ROOT}/vendor/rails")
-    end
-
-    def preinitialize
-      load(preinitializer_path) if File.exist?(preinitializer_path)
-    end
-
-    def preinitializer_path
-      "#{RAILS_ROOT}/config/preinitializer.rb"
-    end
-  end
-
-  class Boot
-    def run
-      load_initializer
-      Rails::Initializer.run(:set_load_path)
-    end
-  end
-
-  class VendorBoot < Boot
-    def load_initializer
-      require "#{RAILS_ROOT}/vendor/rails/railties/lib/initializer"
-      Rails::Initializer.run(:install_gem_spec_stubs)
-      Rails::GemDependency.add_frozen_gem_path
-    end
-  end
-
-  class GemBoot < Boot
-    def load_initializer
-      self.class.load_rubygems
-      load_rails_gem
-      require 'initializer'
-    end
-
-    def load_rails_gem
-      if version = self.class.gem_version
-        gem 'rails', version
-      else
-        gem 'rails'
-      end
-    rescue Gem::LoadError => load_error
-      $stderr.puts %(Missing the Rails #{version} gem. Please `gem install -v=#{version} rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.)
-      exit 1
-    end
-
-    class << self
-      def rubygems_version
-        Gem::RubyGemsVersion rescue nil
-      end
-
-      def gem_version
-        if defined? RAILS_GEM_VERSION
-          RAILS_GEM_VERSION
-        elsif ENV.include?('RAILS_GEM_VERSION')
-          ENV['RAILS_GEM_VERSION']
-        else
-          parse_gem_version(read_environment_rb)
-        end
-      end
-
-      def load_rubygems
-        require 'rubygems'
-        min_version = '1.3.1'
-        unless rubygems_version >= min_version
-          $stderr.puts %Q(Rails requires RubyGems >= #{min_version} (you have #{rubygems_version}). Please `gem update --system` and try again.)
-          exit 1
-        end
-
-      rescue LoadError
-        $stderr.puts %Q(Rails requires RubyGems >= #{min_version}. Please install RubyGems and try again: http://rubygems.rubyforge.org)
-        exit 1
-      end
-
-      def parse_gem_version(text)
-        $1 if text =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/
-      end
-
-      private
-        def read_environment_rb
-          File.read("#{RAILS_ROOT}/config/environment.rb")
-        end
-    end
-  end
-end
-
-# All that for this:
-Rails.boot!
diff --git a/database.sample.yml b/database.sample.yml
deleted file mode 100644 (file)
index db7f8b9..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-# MySQL.  Versions 4.1 and 5.0 are recommended.
-#
-# Install the MySQL driver:
-#   gem install mysql
-# On Mac OS X:
-#   sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql
-# On Mac OS X Leopard:
-#   sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
-#       This sets the ARCHFLAGS environment variable to your native architecture
-# On Windows:
-#   gem install mysql
-#       Choose the win32 build.
-#       Install MySQL and put its /bin directory on your path.
-#
-# And be sure to use new-style password hashing:
-#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
-development:
-  adapter: mysql
-  encoding: utf8
-  reconnect: false
-  database: feedcatcher_development
-  pool: 5
-  username: feedcatcher
-  password:
-  socket: /var/run/mysqld/mysqld.sock
-
-# Warning: The database defined as "test" will be erased and
-# re-generated from your development database when you run "rake".
-# Do not set this db to the same as development or production.
-test:
-  adapter: mysql
-  encoding: utf8
-  reconnect: false
-  database: feedcatcher_test
-  pool: 5
-  username: feedcatcher
-  password:
-  socket: /var/run/mysqld/mysqld.sock
-
-production:
-  adapter: mysql
-  encoding: utf8
-  reconnect: false
-  database: feedcatcher_production
-  pool: 5
-  username: feedcatcher
-  password:
-  socket: /var/run/mysqld/mysqld.sock
-
diff --git a/environment.rb b/environment.rb
deleted file mode 100644 (file)
index ff450c7..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# Be sure to restart your server when you modify this file
-
-# Specifies gem version of Rails to use when vendor/rails is not present
-RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
-
-# Bootstrap the Rails environment, frameworks, and default configuration
-require File.join(File.dirname(__FILE__), 'boot')
-
-Rails::Initializer.run do |config|
-  # Settings in config/environments/* take precedence over those specified here.
-  # Application configuration should go into files in config/initializers
-  # -- all .rb files in that directory are automatically loaded.
-
-  # Add additional load paths for your own custom dirs
-  # config.load_paths += %W( #{RAILS_ROOT}/extras )
-
-  # Specify gems that this application depends on and have them installed with rake gems:install
-  # config.gem "bj"
-  # config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
-  # config.gem "sqlite3-ruby", :lib => "sqlite3"
-  # config.gem "aws-s3", :lib => "aws/s3"
-
-  # Only load the plugins named here, in the order given (default is alphabetical).
-  # :all can be used as a placeholder for all plugins not explicitly named
-  # config.plugins = [ :exception_notification, :ssl_requirement, :all ]
-
-  # Skip frameworks you're not going to use. To use Rails without a database,
-  # you must remove the Active Record framework.
-  # config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
-
-  # Activate observers that should always be running
-  # config.active_record.observers = :cacher, :garbage_collector, :forum_observer
-
-  # Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
-  # Run "rake -D time" for a list of tasks for finding time zone names.
-  config.time_zone = 'UTC'
-
-  # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
-  # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]
-  # config.i18n.default_locale = :de
-end
\ No newline at end of file
diff --git a/environments/development.rb b/environments/development.rb
deleted file mode 100644 (file)
index 85c9a60..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# Settings specified here will take precedence over those in config/environment.rb
-
-# In the development environment your application's code is reloaded on
-# every request.  This slows down response time but is perfect for development
-# since you don't have to restart the webserver when you make code changes.
-config.cache_classes = false
-
-# Log error messages when you accidentally call methods on nil.
-config.whiny_nils = true
-
-# Show full error reports and disable caching
-config.action_controller.consider_all_requests_local = true
-config.action_view.debug_rjs                         = true
-config.action_controller.perform_caching             = false
-
-# Don't care if the mailer can't send
-config.action_mailer.raise_delivery_errors = false
\ No newline at end of file
diff --git a/environments/production.rb b/environments/production.rb
deleted file mode 100644 (file)
index 27119d2..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# Settings specified here will take precedence over those in config/environment.rb
-
-# The production environment is meant for finished, "live" apps.
-# Code is not reloaded between requests
-config.cache_classes = true
-
-# Full error reports are disabled and caching is turned on
-config.action_controller.consider_all_requests_local = false
-config.action_controller.perform_caching             = true
-config.action_view.cache_template_loading            = true
-
-# See everything in the log (default is :info)
-# config.log_level = :debug
-
-# Use a different logger for distributed setups
-# config.logger = SyslogLogger.new
-
-# Use a different cache store in production
-# config.cache_store = :mem_cache_store
-
-# Enable serving of images, stylesheets, and javascripts from an asset server
-# config.action_controller.asset_host = "http://assets.example.com"
-
-# Disable delivery errors, bad email addresses will be ignored
-# config.action_mailer.raise_delivery_errors = false
-
-# Enable threaded mode
-# config.threadsafe!
\ No newline at end of file
diff --git a/environments/test.rb b/environments/test.rb
deleted file mode 100644 (file)
index d6f80a4..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# Settings specified here will take precedence over those in config/environment.rb
-
-# The test environment is used exclusively to run your application's
-# test suite.  You never need to work with it otherwise.  Remember that
-# your test database is "scratch space" for the test suite and is wiped
-# and recreated between test runs.  Don't rely on the data there!
-config.cache_classes = true
-
-# Log error messages when you accidentally call methods on nil.
-config.whiny_nils = true
-
-# Show full error reports and disable caching
-config.action_controller.consider_all_requests_local = true
-config.action_controller.perform_caching             = false
-config.action_view.cache_template_loading            = true
-
-# Disable request forgery protection in test environment
-config.action_controller.allow_forgery_protection    = false
-
-# Tell Action Mailer not to deliver emails to the real world.
-# The :test delivery method accumulates sent emails in the
-# ActionMailer::Base.deliveries array.
-config.action_mailer.delivery_method = :test
-
-# Use SQL instead of Active Record's schema dumper when creating the test database.
-# This is necessary if your schema can't be completely dumped by the schema dumper,
-# like if you have constraints or database-specific column types
-# config.active_record.schema_format = :sql
\ No newline at end of file
diff --git a/heaaders.txt b/heaaders.txt
new file mode 100644 (file)
index 0000000..bd7c636
--- /dev/null
@@ -0,0 +1,10 @@
+HTTP/1.1 200 OK \r
+Cache-Control: private, max-age=0, must-revalidate\r
+Connection: Keep-Alive\r
+Date: Wed, 22 Jul 2009 12:44:26 GMT\r
+Content-Type: application/rss+xml; charset=utf-8\r
+Etag: "e7d0d2fad560d3d17bc9fa379dff26d7"\r
+Server: WEBrick/1.3.1 (Ruby/1.8.6/2007-09-24)\r
+X-Runtime: 33\r
+Content-Length: 710\r
+\r
diff --git a/headers.txt b/headers.txt
new file mode 100644 (file)
index 0000000..8ff770c
--- /dev/null
@@ -0,0 +1,10 @@
+HTTP/1.1 200 OK \r
+Cache-Control: private, max-age=0, must-revalidate\r
+Connection: Keep-Alive\r
+Date: Wed, 22 Jul 2009 12:46:46 GMT\r
+Content-Type: application/rss+xml; charset=utf-8\r
+Etag: "0fcd2f586381d34c341be820ea75fa9a"\r
+Server: WEBrick/1.3.1 (Ruby/1.8.6/2007-09-24)\r
+X-Runtime: 67\r
+Content-Length: 2528\r
+\r
diff --git a/initializers/backtrace_silencers.rb b/initializers/backtrace_silencers.rb
deleted file mode 100644 (file)
index c2169ed..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
-# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ }
-
-# You can also remove all the silencers if you're trying do debug a problem that might steem from framework code.
-# Rails.backtrace_cleaner.remove_silencers!
\ No newline at end of file
diff --git a/initializers/inflections.rb b/initializers/inflections.rb
deleted file mode 100644 (file)
index d531b8b..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Add new inflection rules using the following format 
-# (all these examples are active by default):
-# ActiveSupport::Inflector.inflections do |inflect|
-#   inflect.plural /^(ox)$/i, '\1en'
-#   inflect.singular /^(ox)en/i, '\1'
-#   inflect.irregular 'person', 'people'
-#   inflect.uncountable %w( fish sheep )
-# end
diff --git a/initializers/mime_types.rb b/initializers/mime_types.rb
deleted file mode 100644 (file)
index 72aca7e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Add new mime types for use in respond_to blocks:
-# Mime::Type.register "text/richtext", :rtf
-# Mime::Type.register_alias "text/html", :iphone
diff --git a/initializers/new_rails_defaults.rb b/initializers/new_rails_defaults.rb
deleted file mode 100644 (file)
index 8ec3186..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# These settings change the behavior of Rails 2 apps and will be defaults
-# for Rails 3. You can remove this initializer when Rails 3 is released.
-
-if defined?(ActiveRecord)
-  # Include Active Record class name as root for JSON serialized output.
-  ActiveRecord::Base.include_root_in_json = true
-
-  # Store the full class name (including module namespace) in STI type column.
-  ActiveRecord::Base.store_full_sti_class = true
-end
-
-# Use ISO 8601 format for JSON serialized times and dates.
-ActiveSupport.use_standard_json_time_format = true
-
-# Don't escape HTML entities in JSON, leave that for the #json_escape helper.
-# if you're including raw json in an HTML page.
-ActiveSupport.escape_html_entities_in_json = false
\ No newline at end of file
diff --git a/initializers/session_store.rb b/initializers/session_store.rb
deleted file mode 100644 (file)
index 5078d7a..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# Be sure to restart your server when you modify this file.
-
-# Your secret key for verifying cookie session data integrity.
-# If you change this key, all old sessions will become invalid!
-# Make sure the secret is at least 30 characters and all random, 
-# no regular words or you'll be exposed to dictionary attacks.
-ActionController::Base.session = {
-  :key         => '_feedcatcher_session',
-  :secret      => 'e2dacfa1d2730be2dcd393fa4f91418f345cfe7285aeff9c447e6f263373474885ad6d5248d2dfbea6d141cddda30c9350d01058a89e135610e8f8481bb2097c'
-}
-
-# Use the database for sessions instead of the cookie-based default,
-# which shouldn't be used to store highly confidential information
-# (create the session table with "rake db:sessions:create")
-# ActionController::Base.session_store = :active_record_store
diff --git a/locales/en.yml b/locales/en.yml
deleted file mode 100644 (file)
index f265c06..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# Sample localization file for English. Add more files in this directory for other locales.
-# See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
-
-en:
-  hello: "Hello world"
\ No newline at end of file
diff --git a/public/stylesheets/feedcatcher.css b/public/stylesheets/feedcatcher.css
new file mode 100644 (file)
index 0000000..7623e22
--- /dev/null
@@ -0,0 +1,9 @@
+/* START:notice */
+#notice {
+  border: 2px solid red;
+  padding: 1em;
+  margin-bottom: 2em;
+  background-color: #f0f0f0;
+  font: bold smaller sans-serif;
+}
+/* END:notice */
diff --git a/routes.rb b/routes.rb
deleted file mode 100644 (file)
index 7754dd1..0000000
--- a/routes.rb
+++ /dev/null
@@ -1,57 +0,0 @@
-ActionController::Routing::Routes.draw do |map|
-  # The priority is based upon order of creation: first created -> highest priority.
-
-  # Sample of regular route:
-  #   map.connect 'products/:id', :controller => 'catalog', :action => 'view'
-  # Keep in mind you can assign values other than :controller and :action
-
-  # Sample of named route:
-  #   map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
-  # This route can be invoked with purchase_url(:id => product.id)
-
-  # Sample resource route (maps HTTP verbs to controller actions automatically):
-  #   map.resources :products
-
-  # Sample resource route with options:
-  #   map.resources :products, :member => { :short => :get, :toggle => :post }, :collection => { :sold => :get }
-
-  # Sample resource route with sub-resources:
-  #   map.resources :products, :has_many => [ :comments, :sales ], :has_one => :seller
-  
-  # Sample resource route with more complex sub-resources
-  #   map.resources :products do |products|
-  #     products.resources :comments
-  #     products.resources :sales, :collection => { :recent => :get }
-  #   end
-
-  # Sample resource route within a namespace:
-  #   map.namespace :admin do |admin|
-  #     # Directs /admin/products/* to Admin::ProductsController (app/controllers/admin/products_controller.rb)
-  #     admin.resources :products
-  #   end
-
-  map.index 'index.:format',
-    :conditions => { :method => :get },
-    :controller => 'feed',
-    :action => 'index'
-  map.feed ':feed_name.:format',
-    :conditions => { :method => :get },
-    :controller => 'feed',
-    :action => 'show'
-  map.update ':feed_name',
-    :conditions => { :method => :post },
-    :defaults => { :feed_name => nil },
-    :controller => 'feed',
-    :action => 'update'
-
-  # You can have the root of your site routed with map.root -- just remember to delete public/index.html.
-  map.root :controller => "feed"
-
-  # See how all your routes lay out with "rake routes"
-
-  # Install the default routes as the lowest priority.
-  # Note: These default routes make all actions in every controller accessible via GET requests. You should
-  # consider removing the them or commenting them out if you're using named routes and resources.
-#  map.connect ':controller/:action/:id'
-#  map.connect ':controller/:action/:id.:format'
-end