The Depot Application

The Depot Application

23.3 Helpers for Formatting, Linking, and Pagination 21 Action Controller: Routing and URLs

21.2 Routing Requests

ls app/controllers/*_controller.rb
app/controllers/admin_controller.rb
app/controllers/application_controller.rb
app/controllers/info_controller.rb
app/controllers/line_items_controller.rb
app/controllers/orders_controller.rb
app/controllers/products_controller.rb
app/controllers/store_controller.rb
app/controllers/users_controller.rb
irb e1/routing/config2/routes_for_depot.rb
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from ./config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21.
NOTE: Gem::SourceIndex#initialize is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#initialize called from ./config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /home/rubys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /home/rubys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /home/rubys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /home/rubys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /home/rubys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /home/rubys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
>> require "./config/environment.rb"
=> true
 
>> ActionController::Base.session_store = nil
=> nil
>> ActionController::Routing.use_controllers! ["store", "admin", "coupon"]
=> ["store", "admin", "coupon"]
>> load "config/routes.rb"
=> []
>> rs = ActionController::Routing::Routes
=> #<ActionController::Routing::RouteSet:0x7f1f0dda9958 @routes_by_controller=nil, @configuration_files=["/home/rubys/git/awdwr/edition3/work-23/depot/config/routes.rb"], @combined_regexp=nil, @named_routes=#<ActionController::Routing::RouteSet::NamedRouteCollection:0x7f1f0dd94008 @module=#<Module:0x7f1f0dd93f40>, @routes={:edit_product=>#<ActionController::Routing::Route:0x7f1f0c5f73c8 @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"edit"}, @to_s="GET    /products/:id/edit(.:format)?            {:controller=>\"products\", :action=>\"edit\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"products", :action=>"edit"}, @action_requirement="edit", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5f8660 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5f8520 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c5f83b8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5f8278 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c5f8110 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5f7fd0 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5f7ee0 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"edit"}, @matching_prepared=true>, :new_order=>#<ActionController::Routing::Route:0x7f1f0c65be40 @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"new"}, @to_s="GET    /orders/new(.:format)?                   {:controller=>\"orders\", :action=>\"new\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"orders", :action=>"new"}, @action_requirement="new", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c65cb38 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c65c9f8 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c65c890 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c65c750 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c65c660 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"new"}, @matching_prepared=true>, :new_line_item=>#<ActionController::Routing::Route:0x7f1f0c6ad5d8 @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"new"}, @to_s="GET    /line_items/new(.:format)?               {:controller=>\"line_items\", :action=>\"new\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"line_items", :action=>"new"}, @action_requirement="new", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6ae2d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6ae190 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c6ae028 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6adee8 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6addf8 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"new"}, @matching_prepared=true>, :user=>#<ActionController::Routing::Route:0x7f1f0c6de390 @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"show"}, @to_s="GET    /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"show\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"users", :action=>"show"}, @action_requirement="show", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6df2e0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6df1a0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c6df038 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c6deef8 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6dee08 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"show"}, @matching_prepared=true>, :users=>#<ActionController::Routing::Route:0x7f1f0c716470 @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"index"}, @to_s="GET    /users(.:format)?                        {:controller=>\"users\", :action=>\"index\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"users", :action=>"index"}, @action_requirement="index", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c716e20 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c716ce0 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c716bf0 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"index"}, @matching_prepared=true>, :product=>#<ActionController::Routing::Route:0x7f1f0c5e9f98 @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"show"}, @to_s="GET    /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"show\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"products", :action=>"show"}, @action_requirement="show", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5eaee8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5eada8 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c5eac40 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5eab00 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5eaa10 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"show"}, @matching_prepared=true>, :edit_order=>#<ActionController::Routing::Route:0x7f1f0c649308 @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"edit"}, @to_s="GET    /orders/:id/edit(.:format)?              {:controller=>\"orders\", :action=>\"edit\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"orders", :action=>"edit"}, @action_requirement="edit", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c64a5a0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c64a460 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c64a2f8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c64a1b8 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c64a050 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c649f10 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c649e20 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"edit"}, @matching_prepared=true>, :order=>#<ActionController::Routing::Route:0x7f1f0c63bd20 @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"show"}, @to_s="GET    /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"show\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"orders", :action=>"show"}, @action_requirement="show", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c63cc70 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c63cb30 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c63c9c8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c63c888 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c63c798 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"show"}, @matching_prepared=true>, :edit_line_item=>#<ActionController::Routing::Route:0x7f1f0c699510 @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"edit"}, @to_s="GET    /line_items/:id/edit(.:format)?          {:controller=>\"line_items\", :action=>\"edit\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"line_items", :action=>"edit"}, @action_requirement="edit", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c69a7f8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c69a6b8 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c69a550 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c69a410 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c69a2a8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c69a168 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c69a078 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"edit"}, @matching_prepared=true>, :line_items=>#<ActionController::Routing::Route:0x7f1f0c6c5750 @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"index"}, @to_s="GET    /line_items(.:format)?                   {:controller=>\"line_items\", :action=>\"index\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"line_items", :action=>"index"}, @action_requirement="index", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6c6100 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6c5fc0 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6c5ed0 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"index"}, @matching_prepared=true>, :new_user=>#<ActionController::Routing::Route:0x7f1f0c6fe5c8 @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"new"}, @to_s="GET    /users/new(.:format)?                    {:controller=>\"users\", :action=>\"new\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"users", :action=>"new"}, @action_requirement="new", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6ff310 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6ff1d0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c6ff068 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6fef28 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6fee38 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"new"}, @matching_prepared=true>, :orders=>#<ActionController::Routing::Route:0x7f1f0c673db0 @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"index"}, @to_s="GET    /orders(.:format)?                       {:controller=>\"orders\", :action=>\"index\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"orders", :action=>"index"}, @action_requirement="index", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c674760 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c674620 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c674530 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"index"}, @matching_prepared=true>, :line_item=>#<ActionController::Routing::Route:0x7f1f0c68da30 @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"show"}, @to_s="GET    /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"show\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"line_items", :action=>"show"}, @action_requirement="show", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c68e980 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c68e840 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c68e6d8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c68e598 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c68e4a8 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"show"}, @matching_prepared=true>, :edit_user=>#<ActionController::Routing::Route:0x7f1f0c6eba18 @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"edit"}, @to_s="GET    /users/:id/edit(.:format)?               {:controller=>\"users\", :action=>\"edit\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"users", :action=>"edit"}, @action_requirement="edit", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6eccb0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6ecb70 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c6eca08 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c6ec8c8 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c6ec760 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6ec620 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6ec530 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"edit"}, @matching_prepared=true>, :new_product=>#<ActionController::Routing::Route:0x7f1f0c609fc8 @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"new"}, @to_s="GET    /products/new(.:format)?                 {:controller=>\"products\", :action=>\"new\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"products", :action=>"new"}, @action_requirement="new", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c60c688 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c60ab80 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c60aa18 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c60a8d8 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c60a7e8 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"new"}, @matching_prepared=true>, :products=>#<ActionController::Routing::Route:0x7f1f0c621f88 @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"index"}, @to_s="GET    /products(.:format)?                     {:controller=>\"products\", :action=>\"index\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"products", :action=>"index"}, @action_requirement="index", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c622938 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6227f8 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c622708 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"index"}, @matching_prepared=true>}, @helpers=[:hash_for_users_path, :users_path, :hash_for_users_url, :users_url, :hash_for_new_user_path, :new_user_path, :hash_for_new_user_url, :new_user_url, :hash_for_edit_user_path, :edit_user_path, :hash_for_edit_user_url, :edit_user_url, :hash_for_user_path, :user_path, :hash_for_user_url, :user_url, :hash_for_line_items_path, :line_items_path, :hash_for_line_items_url, :line_items_url, :hash_for_new_line_item_path, :new_line_item_path, :hash_for_new_line_item_url, :new_line_item_url, :hash_for_edit_line_item_path, :edit_line_item_path, :hash_for_edit_line_item_url, :edit_line_item_url, :hash_for_line_item_path, :line_item_path, :hash_for_line_item_url, :line_item_url, :hash_for_orders_path, :orders_path, :hash_for_orders_url, :orders_url, :hash_for_new_order_path, :new_order_path, :hash_for_new_order_url, :new_order_url, :hash_for_edit_order_path, :edit_order_path, :hash_for_edit_order_url, :edit_order_url, :hash_for_order_path, :order_path, :hash_for_order_url, :order_url, :hash_for_products_path, :products_path, :hash_for_products_url, :products_url, :hash_for_new_product_path, :new_product_path, :hash_for_new_product_url, :new_product_url, :hash_for_edit_product_path, :edit_product_path, :hash_for_edit_product_url, :edit_product_url, :hash_for_product_path, :product_path, :hash_for_product_url, :product_url]>, @builder=#<ActionController::Routing::RouteBuilder:0x7f1f0c717258 @separator_regexp=/[\/\.\?]/, @optional_separators=["/"], @interval_regexp=/(.*?)((?-mix:[\/\.\?])|$)/, @separators=["/", ".", "?"], @nonseparator_regexp=/\A([^\/\.\?]+)/>, @routes=[#<ActionController::Routing::Route:0x7f1f0c716470 @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"index"}, @to_s="GET    /users(.:format)?                        {:controller=>\"users\", :action=>\"index\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"users", :action=>"index"}, @action_requirement="index", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c716e20 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c716ce0 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c716bf0 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"index"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c704838 @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"create"}, @to_s="POST   /users(.:format)?                        {:controller=>\"users\", :action=>\"create\"}", @optimise=true, @conditions={:method=>:post}, @requirements={:controller=>"users", :action=>"create"}, @action_requirement="create", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c705238 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c7050f8 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c705008 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"create"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c6fe5c8 @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"new"}, @to_s="GET    /users/new(.:format)?                    {:controller=>\"users\", :action=>\"new\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"users", :action=>"new"}, @action_requirement="new", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6ff310 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6ff1d0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c6ff068 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6fef28 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6fee38 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"new"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c6eba18 @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"edit"}, @to_s="GET    /users/:id/edit(.:format)?               {:controller=>\"users\", :action=>\"edit\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"users", :action=>"edit"}, @action_requirement="edit", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6eccb0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6ecb70 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c6eca08 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c6ec8c8 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c6ec760 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6ec620 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6ec530 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"edit"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c6de390 @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"show"}, @to_s="GET    /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"show\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"users", :action=>"show"}, @action_requirement="show", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6df2e0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6df1a0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c6df038 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c6deef8 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6dee08 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"show"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c6d22c0 @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"update"}, @to_s="PUT    /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"update\"}", @optimise=false, @conditions={:method=>:put}, @requirements={:controller=>"users", :action=>"update"}, @action_requirement="update", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6d3210 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6d30d0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c6d2f68 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c6d2e28 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6d2d38 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"update"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c6cbf38 @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"destroy"}, @to_s="DELETE /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"destroy\"}", @optimise=false, @conditions={:method=>:delete}, @requirements={:controller=>"users", :action=>"destroy"}, @action_requirement="destroy", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6cce88 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6ccd48 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c6ccbe0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c6ccaa0 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6cc9b0 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"destroy"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c6c5750 @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"index"}, @to_s="GET    /line_items(.:format)?                   {:controller=>\"line_items\", :action=>\"index\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"line_items", :action=>"index"}, @action_requirement="index", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6c6100 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6c5fc0 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6c5ed0 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"index"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c6b1fc0 @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"create"}, @to_s="POST   /line_items(.:format)?                   {:controller=>\"line_items\", :action=>\"create\"}", @optimise=true, @conditions={:method=>:post}, @requirements={:controller=>"line_items", :action=>"create"}, @action_requirement="create", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6b2970 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6b2830 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6b2740 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"create"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c6ad5d8 @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"new"}, @to_s="GET    /line_items/new(.:format)?               {:controller=>\"line_items\", :action=>\"new\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"line_items", :action=>"new"}, @action_requirement="new", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6ae2d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6ae190 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c6ae028 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6adee8 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c6addf8 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"new"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c699510 @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"edit"}, @to_s="GET    /line_items/:id/edit(.:format)?          {:controller=>\"line_items\", :action=>\"edit\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"line_items", :action=>"edit"}, @action_requirement="edit", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c69a7f8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c69a6b8 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c69a550 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c69a410 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c69a2a8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c69a168 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c69a078 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"edit"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c68da30 @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"show"}, @to_s="GET    /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"show\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"line_items", :action=>"show"}, @action_requirement="show", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c68e980 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c68e840 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c68e6d8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c68e598 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c68e4a8 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"show"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c6808f8 @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"update"}, @to_s="PUT    /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"update\"}", @optimise=false, @conditions={:method=>:put}, @requirements={:controller=>"line_items", :action=>"update"}, @action_requirement="update", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6830f8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c682e50 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c6815a0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c681460 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c681370 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"update"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c67a598 @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"destroy"}, @to_s="DELETE /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"destroy\"}", @optimise=false, @conditions={:method=>:delete}, @requirements={:controller=>"line_items", :action=>"destroy"}, @action_requirement="destroy", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c67b560 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c67b420 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c67b2b8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c67b178 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c67b088 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"destroy"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c673db0 @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"index"}, @to_s="GET    /orders(.:format)?                       {:controller=>\"orders\", :action=>\"index\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"orders", :action=>"index"}, @action_requirement="index", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c674760 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c674620 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c674530 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"index"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c660878 @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"create"}, @to_s="POST   /orders(.:format)?                       {:controller=>\"orders\", :action=>\"create\"}", @optimise=true, @conditions={:method=>:post}, @requirements={:controller=>"orders", :action=>"create"}, @action_requirement="create", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c661228 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6610e8 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c660ff8 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"create"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c65be40 @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"new"}, @to_s="GET    /orders/new(.:format)?                   {:controller=>\"orders\", :action=>\"new\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"orders", :action=>"new"}, @action_requirement="new", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c65cb38 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c65c9f8 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c65c890 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c65c750 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c65c660 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"new"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c649308 @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"edit"}, @to_s="GET    /orders/:id/edit(.:format)?              {:controller=>\"orders\", :action=>\"edit\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"orders", :action=>"edit"}, @action_requirement="edit", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c64a5a0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c64a460 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c64a2f8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c64a1b8 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c64a050 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c649f10 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c649e20 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"edit"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c63bd20 @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"show"}, @to_s="GET    /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"show\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"orders", :action=>"show"}, @action_requirement="show", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c63cc70 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c63cb30 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c63c9c8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c63c888 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c63c798 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"show"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c630498 @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"update"}, @to_s="PUT    /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"update\"}", @optimise=false, @conditions={:method=>:put}, @requirements={:controller=>"orders", :action=>"update"}, @action_requirement="update", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c6313e8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6312a8 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c631140 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c631000 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c630f10 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"update"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c62a1b0 @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"destroy"}, @to_s="DELETE /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"destroy\"}", @optimise=false, @conditions={:method=>:delete}, @requirements={:controller=>"orders", :action=>"destroy"}, @action_requirement="destroy", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c62b150 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c62b010 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c62aea8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c62ad68 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c62ac78 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"destroy"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c621f88 @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"index"}, @to_s="GET    /products(.:format)?                     {:controller=>\"products\", :action=>\"index\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"products", :action=>"index"}, @action_requirement="index", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c622938 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c6227f8 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c622708 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"index"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c610350 @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"create"}, @to_s="POST   /products(.:format)?                     {:controller=>\"products\", :action=>\"create\"}", @optimise=true, @conditions={:method=>:post}, @requirements={:controller=>"products", :action=>"create"}, @action_requirement="create", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c610d00 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c610bc0 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c610ad0 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"create"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c609fc8 @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"new"}, @to_s="GET    /products/new(.:format)?                 {:controller=>\"products\", :action=>\"new\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"products", :action=>"new"}, @action_requirement="new", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c60c688 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c60ab80 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c60aa18 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c60a8d8 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c60a7e8 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"new"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c5f73c8 @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"edit"}, @to_s="GET    /products/:id/edit(.:format)?            {:controller=>\"products\", :action=>\"edit\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"products", :action=>"edit"}, @action_requirement="edit", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5f8660 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5f8520 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c5f83b8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5f8278 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c5f8110 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5f7fd0 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5f7ee0 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"edit"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c5e9f98 @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"show"}, @to_s="GET    /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"show\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"products", :action=>"show"}, @action_requirement="show", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5eaee8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5eada8 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c5eac40 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5eab00 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5eaa10 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"show"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c5de648 @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"update"}, @to_s="PUT    /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"update\"}", @optimise=false, @conditions={:method=>:put}, @requirements={:controller=>"products", :action=>"update"}, @action_requirement="update", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5df598 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5df458 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c5df2f0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5df1b0 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5df0c0 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"update"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c5d83b0 @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"destroy"}, @to_s="DELETE /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"destroy\"}", @optimise=false, @conditions={:method=>:delete}, @requirements={:controller=>"products", :action=>"destroy"}, @action_requirement="destroy", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5d9300 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5d91c0 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c5d9058 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5d8f18 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5d8e28 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"destroy"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c5d29b0 @controller_requirement=nil, @significant_keys=[:controller, :action, :id], @parameter_shell={}, @to_s="ANY    /:controller/:action/:id/                {}", @optimise=false, @conditions={}, @requirements={}, @action_requirement=nil, @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5d34a0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0x7f1f0c5d3360 @is_optional=false, @key=:controller>, #<ActionController::Routing::DividerSegment:0x7f1f0c5d31f8 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5d30b8 @is_optional=true, @key=:action, @default="index">, #<ActionController::Routing::DividerSegment:0x7f1f0c5d2f50 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5d2e10 @is_optional=true, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c5d2ca8 @is_optional=true, @raw=true, @value="/">], @defaults={:action=>"index"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c5c7e48 @controller_requirement=nil, @significant_keys=[:controller, :action, :id, :format], @parameter_shell={}, @to_s="ANY    /:controller/:action/:id(.:format)?      {}", @optimise=false, @conditions={}, @requirements={}, @action_requirement=nil, @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5c88e8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0x7f1f0c5c87a8 @is_optional=false, @key=:controller>, #<ActionController::Routing::DividerSegment:0x7f1f0c5c8640 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5c8500 @is_optional=true, @key=:action, @default="index">, #<ActionController::Routing::DividerSegment:0x7f1f0c5c8398 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5c8258 @is_optional=true, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5c8168 @is_optional=true, @key=:format>], @defaults={:action=>"index"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c5a6b08 @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"index"}, @to_s="GET    /users(.:format)?                        {:controller=>\"users\", :action=>\"index\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"users", :action=>"index"}, @action_requirement="index", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5a74b8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5a7378 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5a7288 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"index"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c5a25f8 @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"create"}, @to_s="POST   /users(.:format)?                        {:controller=>\"users\", :action=>\"create\"}", @optimise=true, @conditions={:method=>:post}, @requirements={:controller=>"users", :action=>"create"}, @action_requirement="create", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5a3020 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5a2ee0 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5a2df0 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"create"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c59dcb0 @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"new"}, @to_s="GET    /users/new(.:format)?                    {:controller=>\"users\", :action=>\"new\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"users", :action=>"new"}, @action_requirement="new", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c59e9a8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c59e868 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c59e700 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c59e5c0 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c59e4d0 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"new"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c598a58 @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"edit"}, @to_s="GET    /users/:id/edit(.:format)?               {:controller=>\"users\", :action=>\"edit\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"users", :action=>"edit"}, @action_requirement="edit", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c599cf0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c599bb0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c599a48 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c599908 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c5997a0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c599660 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c599570 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"edit"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c591870 @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"show"}, @to_s="GET    /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"show\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"users", :action=>"show"}, @action_requirement="show", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5927c0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c592680 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c592518 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5923d8 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5922e8 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"show"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c58b588 @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"update"}, @to_s="PUT    /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"update\"}", @optimise=false, @conditions={:method=>:put}, @requirements={:controller=>"users", :action=>"update"}, @action_requirement="update", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c58c4d8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c58c398 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c58c230 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c58c0f0 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c58c000 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"update"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c5852f0 @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"destroy"}, @to_s="DELETE /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"destroy\"}", @optimise=false, @conditions={:method=>:delete}, @requirements={:controller=>"users", :action=>"destroy"}, @action_requirement="destroy", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c586240 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c586100 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7f1f0c585f98 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c585e58 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c585d68 @is_optional=true, @key=:format>], @defaults={:controller=>"users", :action=>"destroy"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c57eb30 @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"index"}, @to_s="GET    /line_items(.:format)?                   {:controller=>\"line_items\", :action=>\"index\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"line_items", :action=>"index"}, @action_requirement="index", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c57f4e0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c57f3a0 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c57f2b0 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"index"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c578de8 @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"create"}, @to_s="POST   /line_items(.:format)?                   {:controller=>\"line_items\", :action=>\"create\"}", @optimise=true, @conditions={:method=>:post}, @requirements={:controller=>"line_items", :action=>"create"}, @action_requirement="create", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c579798 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c579658 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c579568 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"create"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c574428 @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"new"}, @to_s="GET    /line_items/new(.:format)?               {:controller=>\"line_items\", :action=>\"new\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"line_items", :action=>"new"}, @action_requirement="new", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c575148 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c575008 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c574ea0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c574d60 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c574c70 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"new"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c56ef28 @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"edit"}, @to_s="GET    /line_items/:id/edit(.:format)?          {:controller=>\"line_items\", :action=>\"edit\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"line_items", :action=>"edit"}, @action_requirement="edit", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c570210 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5700d0 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c56ff68 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c56fe28 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c56fcc0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c56fb80 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c56fa90 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"edit"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c568768 @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"show"}, @to_s="GET    /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"show\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"line_items", :action=>"show"}, @action_requirement="show", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5696b8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c569578 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c569410 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5692d0 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5691e0 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"show"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c562408 @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"update"}, @to_s="PUT    /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"update\"}", @optimise=false, @conditions={:method=>:put}, @requirements={:controller=>"line_items", :action=>"update"}, @action_requirement="update", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c563380 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c563218 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c5630b0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c562f70 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c562e80 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"update"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c55c170 @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"destroy"}, @to_s="DELETE /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"destroy\"}", @optimise=false, @conditions={:method=>:delete}, @requirements={:controller=>"line_items", :action=>"destroy"}, @action_requirement="destroy", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c55d0c0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c55cf80 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7f1f0c55ce18 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c55ccd8 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c55cbe8 @is_optional=true, @key=:format>], @defaults={:controller=>"line_items", :action=>"destroy"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c554a60 @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"index"}, @to_s="GET    /orders(.:format)?                       {:controller=>\"orders\", :action=>\"index\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"orders", :action=>"index"}, @action_requirement="index", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c555410 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5552d0 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5551e0 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"index"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c550578 @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"create"}, @to_s="POST   /orders(.:format)?                       {:controller=>\"orders\", :action=>\"create\"}", @optimise=true, @conditions={:method=>:post}, @requirements={:controller=>"orders", :action=>"create"}, @action_requirement="create", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c550f28 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c550de8 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c550cf8 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"create"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c54b9b0 @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"new"}, @to_s="GET    /orders/new(.:format)?                   {:controller=>\"orders\", :action=>\"new\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"orders", :action=>"new"}, @action_requirement="new", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c54c6a8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c54c568 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c54c400 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c54c2c0 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c54c1d0 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"new"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c5464b0 @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"edit"}, @to_s="GET    /orders/:id/edit(.:format)?              {:controller=>\"orders\", :action=>\"edit\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"orders", :action=>"edit"}, @action_requirement="edit", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c547978 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c547838 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c5476a8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c547568 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c547400 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c5472c0 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5471d0 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"edit"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c540038 @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"show"}, @to_s="GET    /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"show\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"orders", :action=>"show"}, @action_requirement="show", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c540f88 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c540e48 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c540ce0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c540ba0 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c540ab0 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"show"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c539a58 @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"update"}, @to_s="PUT    /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"update\"}", @optimise=false, @conditions={:method=>:put}, @requirements={:controller=>"orders", :action=>"update"}, @action_requirement="update", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c53a9d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c53a890 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c53a728 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c53a5e8 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c53a4f8 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"update"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c533748 @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"destroy"}, @to_s="DELETE /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"destroy\"}", @optimise=false, @conditions={:method=>:delete}, @requirements={:controller=>"orders", :action=>"destroy"}, @action_requirement="destroy", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c534698 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c534558 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7f1f0c5343f0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5342b0 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5341c0 @is_optional=true, @key=:format>], @defaults={:controller=>"orders", :action=>"destroy"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c52c4e8 @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"index"}, @to_s="GET    /products(.:format)?                     {:controller=>\"products\", :action=>\"index\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"products", :action=>"index"}, @action_requirement="index", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c52ce98 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c52cd58 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c52cc68 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"index"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c528028 @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"create"}, @to_s="POST   /products(.:format)?                     {:controller=>\"products\", :action=>\"create\"}", @optimise=true, @conditions={:method=>:post}, @requirements={:controller=>"products", :action=>"create"}, @action_requirement="create", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5289d8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c528898 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5287a8 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"create"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c523668 @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"new"}, @to_s="GET    /products/new(.:format)?                 {:controller=>\"products\", :action=>\"new\"}", @optimise=true, @conditions={:method=>:get}, @requirements={:controller=>"products", :action=>"new"}, @action_requirement="new", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c524360 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c524220 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c5240b8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c523f78 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c523e88 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"new"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c51e410 @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"edit"}, @to_s="GET    /products/:id/edit(.:format)?            {:controller=>\"products\", :action=>\"edit\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"products", :action=>"edit"}, @action_requirement="edit", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c51f6a8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c51f568 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c51f400 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c51f2c0 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c51f158 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c51f018 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c51ef28 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"edit"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c516dc8 @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"show"}, @to_s="GET    /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"show\"}", @optimise=false, @conditions={:method=>:get}, @requirements={:controller=>"products", :action=>"show"}, @action_requirement="show", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c517d18 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c517bd8 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c517a70 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c517930 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c517840 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"show"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c510860 @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"update"}, @to_s="PUT    /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"update\"}", @optimise=false, @conditions={:method=>:put}, @requirements={:controller=>"products", :action=>"update"}, @action_requirement="update", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5119e0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c511878 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c511710 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c5115d0 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c5114e0 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"update"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c50a578 @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"destroy"}, @to_s="DELETE /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"destroy\"}", @optimise=false, @conditions={:method=>:delete}, @requirements={:controller=>"products", :action=>"destroy"}, @action_requirement="destroy", @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c50b4c8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7f1f0c50b388 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7f1f0c50b220 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c50b0e0 @is_optional=false, @regexp=/[^\/.?]+/, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c50aff0 @is_optional=true, @key=:format>], @defaults={:controller=>"products", :action=>"destroy"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c504b00 @controller_requirement=nil, @significant_keys=[:controller, :action, :id], @parameter_shell={}, @to_s="ANY    /:controller/:action/:id/                {}", @optimise=false, @conditions={}, @requirements={}, @action_requirement=nil, @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c5055f0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0x7f1f0c5054b0 @is_optional=false, @key=:controller>, #<ActionController::Routing::DividerSegment:0x7f1f0c505348 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c505208 @is_optional=true, @key=:action, @default="index">, #<ActionController::Routing::DividerSegment:0x7f1f0c5050a0 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c504f60 @is_optional=true, @key=:id>, #<ActionController::Routing::DividerSegment:0x7f1f0c504df8 @is_optional=true, @raw=true, @value="/">], @defaults={:action=>"index"}, @matching_prepared=true>, #<ActionController::Routing::Route:0x7f1f0c4fe200 @controller_requirement=nil, @significant_keys=[:controller, :action, :id, :format], @parameter_shell={}, @to_s="ANY    /:controller/:action/:id(.:format)?      {}", @optimise=false, @conditions={}, @requirements={}, @action_requirement=nil, @segments=[#<ActionController::Routing::DividerSegment:0x7f1f0c4feca0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0x7f1f0c4feb60 @is_optional=false, @key=:controller>, #<ActionController::Routing::DividerSegment:0x7f1f0c4fe9f8 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c4fe8b8 @is_optional=true, @key=:action, @default="index">, #<ActionController::Routing::DividerSegment:0x7f1f0c4fe750 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7f1f0c4fe610 @is_optional=true, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0x7f1f0c4fe520 @is_optional=true, @key=:format>], @defaults={:action=>"index"}, @matching_prepared=true>], @routes_last_modified=Sat Jun 30 06:12:49 -0400 2012>
>> app = ActionController::Integration::Session.new
=> #<ActionController::Integration::Session:0x7f1f0c7a0648 @status=nil, @request_count=0, @controller=nil, @result=nil, @cookies={}, @application=#<ActionController::Dispatcher:0x7f1f0c7a0378 @output=#<IO:0x7f1f1172eae8>>, @accept="text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5", @host="www.example.com", @https=false, @request=nil, @headers=nil, @remote_addr="127.0.0.1", @status_message=nil, @path=nil, @named_routes_configured=true, @response=nil>
 
>> puts rs.routes
GET    /users(.:format)?                        {:controller=>"users", :action=>"index"}
POST   /users(.:format)?                        {:controller=>"users", :action=>"create"}
GET    /users/new(.:format)?                    {:controller=>"users", :action=>"new"}
GET    /users/:id/edit(.:format)?               {:controller=>"users", :action=>"edit"}
GET    /users/:id(.:format)?                    {:controller=>"users", :action=>"show"}
PUT    /users/:id(.:format)?                    {:controller=>"users", :action=>"update"}
DELETE /users/:id(.:format)?                    {:controller=>"users", :action=>"destroy"}
GET    /line_items(.:format)?                   {:controller=>"line_items", :action=>"index"}
POST   /line_items(.:format)?                   {:controller=>"line_items", :action=>"create"}
GET    /line_items/new(.:format)?               {:controller=>"line_items", :action=>"new"}
GET    /line_items/:id/edit(.:format)?          {:controller=>"line_items", :action=>"edit"}
GET    /line_items/:id(.:format)?               {:controller=>"line_items", :action=>"show"}
PUT    /line_items/:id(.:format)?               {:controller=>"line_items", :action=>"update"}
DELETE /line_items/:id(.:format)?               {:controller=>"line_items", :action=>"destroy"}
GET    /orders(.:format)?                       {:controller=>"orders", :action=>"index"}
POST   /orders(.:format)?                       {:controller=>"orders", :action=>"create"}
GET    /orders/new(.:format)?                   {:controller=>"orders", :action=>"new"}
GET    /orders/:id/edit(.:format)?              {:controller=>"orders", :action=>"edit"}
GET    /orders/:id(.:format)?                   {:controller=>"orders", :action=>"show"}
PUT    /orders/:id(.:format)?                   {:controller=>"orders", :action=>"update"}
DELETE /orders/:id(.:format)?                   {:controller=>"orders", :action=>"destroy"}
GET    /products(.:format)?                     {:controller=>"products", :action=>"index"}
POST   /products(.:format)?                     {:controller=>"products", :action=>"create"}
GET    /products/new(.:format)?                 {:controller=>"products", :action=>"new"}
GET    /products/:id/edit(.:format)?            {:controller=>"products", :action=>"edit"}
GET    /products/:id(.:format)?                 {:controller=>"products", :action=>"show"}
PUT    /products/:id(.:format)?                 {:controller=>"products", :action=>"update"}
DELETE /products/:id(.:format)?                 {:controller=>"products", :action=>"destroy"}
ANY    /:controller/:action/:id/                {}
ANY    /:controller/:action/:id(.:format)?      {}
GET    /users(.:format)?                        {:controller=>"users", :action=>"index"}
POST   /users(.:format)?                        {:controller=>"users", :action=>"create"}
GET    /users/new(.:format)?                    {:controller=>"users", :action=>"new"}
GET    /users/:id/edit(.:format)?               {:controller=>"users", :action=>"edit"}
GET    /users/:id(.:format)?                    {:controller=>"users", :action=>"show"}
PUT    /users/:id(.:format)?                    {:controller=>"users", :action=>"update"}
DELETE /users/:id(.:format)?                    {:controller=>"users", :action=>"destroy"}
GET    /line_items(.:format)?                   {:controller=>"line_items", :action=>"index"}
POST   /line_items(.:format)?                   {:controller=>"line_items", :action=>"create"}
GET    /line_items/new(.:format)?               {:controller=>"line_items", :action=>"new"}
GET    /line_items/:id/edit(.:format)?          {:controller=>"line_items", :action=>"edit"}
GET    /line_items/:id(.:format)?               {:controller=>"line_items", :action=>"show"}
PUT    /line_items/:id(.:format)?               {:controller=>"line_items", :action=>"update"}
DELETE /line_items/:id(.:format)?               {:controller=>"line_items", :action=>"destroy"}
GET    /orders(.:format)?                       {:controller=>"orders", :action=>"index"}
POST   /orders(.:format)?                       {:controller=>"orders", :action=>"create"}
GET    /orders/new(.:format)?                   {:controller=>"orders", :action=>"new"}
GET    /orders/:id/edit(.:format)?              {:controller=>"orders", :action=>"edit"}
GET    /orders/:id(.:format)?                   {:controller=>"orders", :action=>"show"}
PUT    /orders/:id(.:format)?                   {:controller=>"orders", :action=>"update"}
DELETE /orders/:id(.:format)?                   {:controller=>"orders", :action=>"destroy"}
GET    /products(.:format)?                     {:controller=>"products", :action=>"index"}
POST   /products(.:format)?                     {:controller=>"products", :action=>"create"}
GET    /products/new(.:format)?                 {:controller=>"products", :action=>"new"}
GET    /products/:id/edit(.:format)?            {:controller=>"products", :action=>"edit"}
GET    /products/:id(.:format)?                 {:controller=>"products", :action=>"show"}
PUT    /products/:id(.:format)?                 {:controller=>"products", :action=>"update"}
DELETE /products/:id(.:format)?                 {:controller=>"products", :action=>"destroy"}
ANY    /:controller/:action/:id/                {}
ANY    /:controller/:action/:id(.:format)?      {}
=> nil
>> rs.recognize_path "/store"
=> {:controller=>"store", :action=>"index"}
>> rs.recognize_path "/store/add_to_cart/1"
=> {:controller=>"store", :id=>"1", :action=>"add_to_cart"}
>> rs.recognize_path "/store/add_to_cart/1.xml"
=> {:format=>"xml", :controller=>"store", :id=>"1", :action=>"add_to_cart"}
>> rs.generate :controller => :store
=> "/store"
>> rs.generate :controller => :store, :id => 123
=> "/store/index/123"
>> rs.recognize_path "/coupon/show/1"
=> {:controller=>"coupon", :id=>"1", :action=>"show"}
>> load "config/routes.rb"
=> []
>> rs.recognize_path "/coupon/show/1"
=> {:controller=>"coupon", :id=>"1", :action=>"show"}
>> app.url_for :controller => :store, :action => :display, :id => 123
=> "http://www.example.com/store/display/123"
 
ruby -rubygems /home/rubys/git/rails/railties/bin/rails view
      create  
      create  app/controllers
      create  app/helpers
      create  app/models
      create  app/views/layouts
      create  config/environments
      create  config/initializers
      create  config/locales
      create  db
      create  doc
      create  lib
      create  lib/tasks
      create  log
      create  public/images
      create  public/javascripts
      create  public/stylesheets
      create  script/performance
      create  test/fixtures
      create  test/functional
      create  test/integration
      create  test/performance
      create  test/unit
      create  vendor
      create  vendor/plugins
      create  tmp/sessions
      create  tmp/sockets
      create  tmp/cache
      create  tmp/pids
      create  Rakefile
      create  README
      create  app/controllers/application_controller.rb
      create  app/helpers/application_helper.rb
      create  config/database.yml
      create  config/routes.rb
      create  config/locales/en.yml
      create  db/seeds.rb
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/new_rails_defaults.rb
      create  config/initializers/session_store.rb
      create  config/initializers/cookie_verification_secret.rb
      create  config/environment.rb
      create  config/boot.rb
      create  config/environments/production.rb
      create  config/environments/development.rb
      create  config/environments/test.rb
      create  script/about
      create  script/console
      create  script/dbconsole
      create  script/destroy
      create  script/generate
      create  script/runner
      create  script/server
      create  script/plugin
      create  script/performance/benchmarker
      create  script/performance/profiler
      create  test/test_helper.rb
      create  test/performance/browsing_test.rb
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/index.html
      create  public/favicon.ico
      create  public/robots.txt
      create  public/images/rails.png
      create  public/javascripts/prototype.js
      create  public/javascripts/effects.js
      create  public/javascripts/dragdrop.js
      create  public/javascripts/controls.js
      create  public/javascripts/application.js
      create  doc/README_FOR_APP
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log
cp -v /home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/*.rb app/controllers
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/array_controller.rb' -> `app/controllers/array_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/article_controller.rb' -> `app/controllers/article_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/blog1_controller.rb' -> `app/controllers/blog1_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/blog2_controller.rb' -> `app/controllers/blog2_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/blog_controller.rb' -> `app/controllers/blog_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/builder_controller.rb' -> `app/controllers/builder_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/form_controller.rb' -> `app/controllers/form_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/form_for_controller.rb' -> `app/controllers/form_for_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/pager_controller.rb' -> `app/controllers/pager_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/partial_controller.rb' -> `app/controllers/partial_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/products_controller.rb' -> `app/controllers/products_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/rhtml_controller.rb' -> `app/controllers/rhtml_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/test_controller.rb' -> `app/controllers/test_controller.rb'
`/home/rubys/git/awdwr/edition3/data/code/e1/views/app/controllers/upload_controller.rb' -> `app/controllers/upload_controller.rb'
irb e1/routing/config2/routes_for_blog.rb
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from ./config/../vendor/rails/railties/lib/rails/gem_dependency.rb:21.
NOTE: Gem::SourceIndex#initialize is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#initialize called from ./config/../vendor/rails/railties/lib/rails/vendor_gem_source_index.rb:100.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /home/rubys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /home/rubys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /home/rubys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /home/rubys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /home/rubys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01.
Gem::SourceIndex#add_spec called from /home/rubys/.rvm/rubies/ruby-1.8.7-p352/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91.
>> require 'rubygems'
=> false
>> require 'action_controller'
=> true
 
>> ActionController::Base.session_store = nil
=> nil
>> ActionController::Routing.use_controllers! [ "article", "blog" ]
=> ["article", "blog"]
>> rs = ActionController::Routing::Routes
=> #<ActionController::Routing::RouteSet:0x7f47e92bede0 @named_routes=#<ActionController::Routing::RouteSet::NamedRouteCollection:0x7f47e92b43b8 @helpers=[], @module=#<Module:0x7f47e92b42f0>, @routes={}>, @configuration_files=[], @routes=[]>
>> app = ActionController::Integration::Session.new
=> #<ActionController::Integration::Session:0x7f47e94afbb8 @named_routes_configured=true, @response=nil, @result=nil, @request_count=0, @host="www.example.com", @request=nil, @status=nil, @controller=nil, @cookies={}, @accept="text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5", @https=false, @application=#<ActionController::Dispatcher:0x7f47e9496af0 @app=#<Rack::Lock:0x7f47e9470530 @app=#<ActionController::Failsafe:0x7f47e94709b8 @app=#<ActionController::ParamsParser:0x7f47e9470e40 @app=#<Rack::MethodOverride:0x7f47e94711d8 @app=#<Rack::Head:0x7f47e9471570 @app=#<ActionController::StringCoercion:0x7f47e94720d8 @app=#<Proc:0x00007f47e94a37f0@/home/rubys/git/awdwr/edition3/work-23/view/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:130>>>>>>, @lock=#<Mutex:0x7f47e9470210>>, @output=#<IO:0x7f47ecb11ad0>>, @path=nil, @remote_addr="127.0.0.1", @status_message=nil, @headers=nil>
 
?> ActionController::Routing::Routes.draw do |map| 
 
?>   # Straight 'http://my.app/blog/' displays the index 
?>   map.connect "blog/", 
?>               :controller => "blog", 
?>               :action => "index" 
 
?>   # Return articles for a year, year/month, or year/month/day 
?>   map.connect "blog/:year/:month/:day", 
?>               :controller => "blog", 
?>               :action => "show_date", 
?>               :requirements => { :year => /(19|20)\d\d/,
?>                                  :month => /[01]?\d/, 
?>                                  :day => /[0-3]?\d/}, 
?>               :day => nil, 
?>               :month => nil 
 
>>   # Show an article identified by an id 
?>   map.connect "blog/show/:id", 
?>               :controller => "blog", 
?>               :action => "show", 
?>               :id => /\d+/ 
 
>>   # Regular Rails routing for admin stuff 
?>   map.connect "blog/:controller/:action/:id" 
 
>>   # Catchall so we can gracefully handle badly formed requests 
?>   map.connect "*anything", 
?>               :controller => "blog", 
?>               :action => "unknown_request" 
>> end
=> [ActionController::Base, ActionView::Base]
 
>> rs.recognize_path "/blog"
=> {:controller=>"blog", :action=>"index"}
>> rs.recognize_path "/blog/show/123"
=> {:controller=>"blog", :action=>"show", :id=>"123"}
>> rs.recognize_path "/blog/2004"
=> {:controller=>"blog", :year=>"2004", :action=>"show_date"}
>> rs.recognize_path "/blog/2004/12"
=> {:controller=>"blog", :month=>"12", :year=>"2004", :action=>"show_date"}
>> rs.recognize_path "/blog/2004/12/25"
=> {:controller=>"blog", :month=>"12", :year=>"2004", :action=>"show_date", :day=>"25"}
>> rs.recognize_path "/blog/article/edit/123"
=> {:controller=>"article", :action=>"edit", :id=>"123"}
>> rs.recognize_path "/blog/article/show_stats"
=> {:controller=>"article", :action=>"show_stats"}
>> rs.recognize_path "/blog/wibble"
=> {:controller=>"blog", :anything=>["blog", "wibble"], :action=>"unknown_request"}
>> rs.recognize_path "/junk"
=> {:controller=>"blog", :anything=>["junk"], :action=>"unknown_request"}
 
>> last_request = rs.recognize_path "/blog/2006/07/28"
=> {:controller=>"blog", :month=>"07", :year=>"2006", :action=>"show_date", :day=>"28"}
>> rs.generate({:day => 25}, last_request)
=> "/blog/2006/07/25"
>> rs.generate({:year => 2005}, last_request)
=> "/blog/2005"
 
>> app.url_for :controller => 'blog', :action => 'show_date', :year => 2002
=> "http://www.example.com/blog/2002"
>> app.url_for :controller => 'blog', :action => 'show_date', :overwrite_params => {:year => "2002" }
DEPRECATION WARNING: The :overwrite_params option is deprecated. Specify all the necessary parameters instead. (called from url_for at /home/rubys/git/awdwr/edition3/work-23/view/vendor/rails/actionpack/lib/action_controller/integration.rb:244)
=> "http://www.example.com/blog/2002"
 

23.3 Helpers for Formatting, Linking, and Pagination 21 Action Controller: Routing and URLs