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-p371/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-p371/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-p371/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-p371/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-p371/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-p371/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:0x7fc5b66c1e38 @routes_last_modified=Wed Nov 14 06:12:07 -0500 2012, @routes_by_controller=nil, @configuration_files=["/home/rubys/git/awdwr/edition3/work-187-23/depot/config/routes.rb"], @combined_regexp=nil, @named_routes=#<ActionController::Routing::RouteSet::NamedRouteCollection:0x7fc5b66b7320 @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], @module=#<Module:0x7fc5b66b7258>, @routes={:edit_product=>#<ActionController::Routing::Route:0x7fc5b89cf600 @action_requirement="edit", @defaults={:controller=>"products", :action=>"edit"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"edit"}, @requirements={:controller=>"products", :action=>"edit"}, @to_s="GET    /products/:id/edit(.:format)?            {:controller=>\"products\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b89d26e8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b89d2468 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b89d1ec8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b89d1888 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b89d1568 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b89d0c30 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b89d09b0 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, :new_order=>#<ActionController::Routing::Route:0x7fc5b6564fb8 @action_requirement="new", @defaults={:controller=>"orders", :action=>"new"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"new"}, @requirements={:controller=>"orders", :action=>"new"}, @to_s="GET    /orders/new(.:format)?                   {:controller=>\"orders\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b6565cb0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b6565b70 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b6565a08 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65658c8 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65657d8 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, :new_line_item=>#<ActionController::Routing::Route:0x7fc5b65d0790 @action_requirement="new", @defaults={:controller=>"line_items", :action=>"new"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"new"}, @requirements={:controller=>"line_items", :action=>"new"}, @to_s="GET    /line_items/new(.:format)?               {:controller=>\"line_items\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65d18c0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65d1780 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b65d1618 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65d14b0 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65d1398 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, :users=>#<ActionController::Routing::Route:0x7fc5b665e928 @action_requirement="index", @defaults={:controller=>"users", :action=>"index"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"index"}, @requirements={:controller=>"users", :action=>"index"}, @to_s="GET    /users(.:format)?                        {:controller=>\"users\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b66620c8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b6661f60 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b6661da8 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, :edit_order=>#<ActionController::Routing::Route:0x7fc5b654d6b0 @action_requirement="edit", @defaults={:controller=>"orders", :action=>"edit"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"edit"}, @requirements={:controller=>"orders", :action=>"edit"}, @to_s="GET    /orders/:id/edit(.:format)?              {:controller=>\"orders\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b654f5c8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b654f398 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b654f140 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b654efd8 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b654edd0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b654e970 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b654e858 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, :user=>#<ActionController::Routing::Route:0x7fc5b660b4a8 @action_requirement="show", @defaults={:controller=>"users", :action=>"show"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"show"}, @requirements={:controller=>"users", :action=>"show"}, @to_s="GET    /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b660c3f8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b660c2b8 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b660c150 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b660c010 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b660bf20 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, :edit_line_item=>#<ActionController::Routing::Route:0x7fc5b65b5788 @action_requirement="edit", @defaults={:controller=>"line_items", :action=>"edit"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"edit"}, @requirements={:controller=>"line_items", :action=>"edit"}, @to_s="GET    /line_items/:id/edit(.:format)?          {:controller=>\"line_items\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65b6a20 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65b68e0 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b65b6778 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b65b6638 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b65b64d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65b6390 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65b62a0 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, :line_items=>#<ActionController::Routing::Route:0x7fc5b65ed200 @action_requirement="index", @defaults={:controller=>"line_items", :action=>"index"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"index"}, @requirements={:controller=>"line_items", :action=>"index"}, @to_s="GET    /line_items(.:format)?                   {:controller=>\"line_items\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65edbd8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65eda98 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65ed980 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, :new_user=>#<ActionController::Routing::Route:0x7fc5b6631180 @action_requirement="new", @defaults={:controller=>"users", :action=>"new"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"new"}, @requirements={:controller=>"users", :action=>"new"}, @to_s="GET    /users/new(.:format)?                    {:controller=>\"users\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b6632008 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b6631ec8 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b6631d10 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b6631bd0 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b6631ae0 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, :product=>#<ActionController::Routing::Route:0x7fc5b899aba8 @action_requirement="show", @defaults={:controller=>"products", :action=>"show"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"show"}, @requirements={:controller=>"products", :action=>"show"}, @to_s="GET    /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b89a2ba0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b89a20b0 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b89a0fd0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b899e2d0 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b899e140 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, :orders=>#<ActionController::Routing::Route:0x7fc5b657fa48 @action_requirement="index", @defaults={:controller=>"orders", :action=>"index"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"index"}, @requirements={:controller=>"orders", :action=>"index"}, @to_s="GET    /orders(.:format)?                       {:controller=>\"orders\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65803f8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65802b8 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65801c8 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, :line_item=>#<ActionController::Routing::Route:0x7fc5b65a32e0 @action_requirement="show", @defaults={:controller=>"line_items", :action=>"show"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"show"}, @requirements={:controller=>"line_items", :action=>"show"}, @to_s="GET    /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65a4230 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65a40f0 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b65a3f88 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b65a3e48 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65a3d58 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, :edit_user=>#<ActionController::Routing::Route:0x7fc5b661bf38 @action_requirement="edit", @defaults={:controller=>"users", :action=>"edit"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"edit"}, @requirements={:controller=>"users", :action=>"edit"}, @to_s="GET    /users/:id/edit(.:format)?               {:controller=>\"users\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b661e0d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b661df90 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b661de28 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b661dce8 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b661db80 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b661da18 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b661d900 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, :new_product=>#<ActionController::Routing::Route:0x7fc5b8a1bc08 @action_requirement="new", @defaults={:controller=>"products", :action=>"new"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"new"}, @requirements={:controller=>"products", :action=>"new"}, @to_s="GET    /products/new(.:format)?                 {:controller=>\"products\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8a1f5d8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8a1ebd8 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b8a1e2f0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8a1daa8 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8a1d918 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, :products=>#<ActionController::Routing::Route:0x7fc5b8a5fca0 @action_requirement="index", @defaults={:controller=>"products", :action=>"index"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"index"}, @requirements={:controller=>"products", :action=>"index"}, @to_s="GET    /products(.:format)?                     {:controller=>\"products\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8a61e38 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8a615f0 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8a614d8 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, :order=>#<ActionController::Routing::Route:0x7fc5b8ac8700 @action_requirement="show", @defaults={:controller=>"orders", :action=>"show"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"show"}, @requirements={:controller=>"orders", :action=>"show"}, @to_s="GET    /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8adf540 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8adf2e8 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b8adeb40 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b8ade280 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8adcf98 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>}>, @routes=[#<ActionController::Routing::Route:0x7fc5b665e928 @action_requirement="index", @defaults={:controller=>"users", :action=>"index"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"index"}, @requirements={:controller=>"users", :action=>"index"}, @to_s="GET    /users(.:format)?                        {:controller=>\"users\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b66620c8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b6661f60 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b6661da8 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b66361d0 @action_requirement="create", @defaults={:controller=>"users", :action=>"create"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"create"}, @requirements={:controller=>"users", :action=>"create"}, @to_s="POST   /users(.:format)?                        {:controller=>\"users\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b6636b80 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b6636a40 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b6636950 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:post}>, #<ActionController::Routing::Route:0x7fc5b6631180 @action_requirement="new", @defaults={:controller=>"users", :action=>"new"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"new"}, @requirements={:controller=>"users", :action=>"new"}, @to_s="GET    /users/new(.:format)?                    {:controller=>\"users\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b6632008 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b6631ec8 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b6631d10 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b6631bd0 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b6631ae0 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b661bf38 @action_requirement="edit", @defaults={:controller=>"users", :action=>"edit"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"edit"}, @requirements={:controller=>"users", :action=>"edit"}, @to_s="GET    /users/:id/edit(.:format)?               {:controller=>\"users\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b661e0d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b661df90 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b661de28 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b661dce8 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b661db80 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b661da18 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b661d900 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b660b4a8 @action_requirement="show", @defaults={:controller=>"users", :action=>"show"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"show"}, @requirements={:controller=>"users", :action=>"show"}, @to_s="GET    /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b660c3f8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b660c2b8 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b660c150 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b660c010 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b660bf20 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b65fc660 @action_requirement="update", @defaults={:controller=>"users", :action=>"update"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"update"}, @requirements={:controller=>"users", :action=>"update"}, @to_s="PUT    /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65fd948 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65fd740 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b65fd5d8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b65fd330 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65fd128 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:put}>, #<ActionController::Routing::Route:0x7fc5b65f4fa0 @action_requirement="destroy", @defaults={:controller=>"users", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"destroy"}, @requirements={:controller=>"users", :action=>"destroy"}, @to_s="DELETE /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65f71d8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65f64b8 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b65f6350 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b65f6210 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65f6120 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:delete}>, #<ActionController::Routing::Route:0x7fc5b65ed200 @action_requirement="index", @defaults={:controller=>"line_items", :action=>"index"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"index"}, @requirements={:controller=>"line_items", :action=>"index"}, @to_s="GET    /line_items(.:format)?                   {:controller=>\"line_items\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65edbd8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65eda98 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65ed980 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b65d5998 @action_requirement="create", @defaults={:controller=>"line_items", :action=>"create"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"create"}, @requirements={:controller=>"line_items", :action=>"create"}, @to_s="POST   /line_items(.:format)?                   {:controller=>\"line_items\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65d6348 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65d6208 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65d6118 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:post}>, #<ActionController::Routing::Route:0x7fc5b65d0790 @action_requirement="new", @defaults={:controller=>"line_items", :action=>"new"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"new"}, @requirements={:controller=>"line_items", :action=>"new"}, @to_s="GET    /line_items/new(.:format)?               {:controller=>\"line_items\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65d18c0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65d1780 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b65d1618 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65d14b0 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65d1398 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b65b5788 @action_requirement="edit", @defaults={:controller=>"line_items", :action=>"edit"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"edit"}, @requirements={:controller=>"line_items", :action=>"edit"}, @to_s="GET    /line_items/:id/edit(.:format)?          {:controller=>\"line_items\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65b6a20 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65b68e0 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b65b6778 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b65b6638 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b65b64d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65b6390 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65b62a0 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b65a32e0 @action_requirement="show", @defaults={:controller=>"line_items", :action=>"show"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"show"}, @requirements={:controller=>"line_items", :action=>"show"}, @to_s="GET    /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65a4230 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65a40f0 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b65a3f88 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b65a3e48 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65a3d58 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b658e8e0 @action_requirement="update", @defaults={:controller=>"line_items", :action=>"update"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"update"}, @requirements={:controller=>"line_items", :action=>"update"}, @to_s="PUT    /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b658f998 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b658f830 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b658f6c8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b658f588 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b658f358 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:put}>, #<ActionController::Routing::Route:0x7fc5b6587748 @action_requirement="destroy", @defaults={:controller=>"line_items", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"destroy"}, @requirements={:controller=>"line_items", :action=>"destroy"}, @to_s="DELETE /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65886e8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65885a8 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b6588440 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b6588300 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b6588210 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:delete}>, #<ActionController::Routing::Route:0x7fc5b657fa48 @action_requirement="index", @defaults={:controller=>"orders", :action=>"index"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"index"}, @requirements={:controller=>"orders", :action=>"index"}, @to_s="GET    /orders(.:format)?                       {:controller=>\"orders\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b65803f8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65802b8 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65801c8 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b656c9c0 @action_requirement="create", @defaults={:controller=>"orders", :action=>"create"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"create"}, @requirements={:controller=>"orders", :action=>"create"}, @to_s="POST   /orders(.:format)?                       {:controller=>\"orders\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b656d370 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b656d230 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b656d140 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:post}>, #<ActionController::Routing::Route:0x7fc5b6564fb8 @action_requirement="new", @defaults={:controller=>"orders", :action=>"new"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"new"}, @requirements={:controller=>"orders", :action=>"new"}, @to_s="GET    /orders/new(.:format)?                   {:controller=>\"orders\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b6565cb0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b6565b70 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b6565a08 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b65658c8 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b65657d8 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b654d6b0 @action_requirement="edit", @defaults={:controller=>"orders", :action=>"edit"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"edit"}, @requirements={:controller=>"orders", :action=>"edit"}, @to_s="GET    /orders/:id/edit(.:format)?              {:controller=>\"orders\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b654f5c8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b654f398 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b654f140 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b654efd8 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b654edd0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b654e970 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b654e858 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b8ac8700 @action_requirement="show", @defaults={:controller=>"orders", :action=>"show"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"show"}, @requirements={:controller=>"orders", :action=>"show"}, @to_s="GET    /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8adf540 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8adf2e8 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b8adeb40 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b8ade280 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8adcf98 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b8a9ed10 @action_requirement="update", @defaults={:controller=>"orders", :action=>"update"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"update"}, @requirements={:controller=>"orders", :action=>"update"}, @to_s="PUT    /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8aa21e0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8aa2000 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b8aa19e8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b8aa1560 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8aa1448 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:put}>, #<ActionController::Routing::Route:0x7fc5b8a87d68 @action_requirement="destroy", @defaults={:controller=>"orders", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"destroy"}, @requirements={:controller=>"orders", :action=>"destroy"}, @to_s="DELETE /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8a89aa0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8a89488 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b8a89320 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b8a88e70 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8a88ce0 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:delete}>, #<ActionController::Routing::Route:0x7fc5b8a5fca0 @action_requirement="index", @defaults={:controller=>"products", :action=>"index"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"index"}, @requirements={:controller=>"products", :action=>"index"}, @to_s="GET    /products(.:format)?                     {:controller=>\"products\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8a61e38 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8a615f0 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8a614d8 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b8a34a78 @action_requirement="create", @defaults={:controller=>"products", :action=>"create"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"create"}, @requirements={:controller=>"products", :action=>"create"}, @to_s="POST   /products(.:format)?                     {:controller=>\"products\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8a38948 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8a37f70 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8a37688 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:post}>, #<ActionController::Routing::Route:0x7fc5b8a1bc08 @action_requirement="new", @defaults={:controller=>"products", :action=>"new"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"new"}, @requirements={:controller=>"products", :action=>"new"}, @to_s="GET    /products/new(.:format)?                 {:controller=>\"products\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8a1f5d8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8a1ebd8 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b8a1e2f0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8a1daa8 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8a1d918 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b89cf600 @action_requirement="edit", @defaults={:controller=>"products", :action=>"edit"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"edit"}, @requirements={:controller=>"products", :action=>"edit"}, @to_s="GET    /products/:id/edit(.:format)?            {:controller=>\"products\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b89d26e8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b89d2468 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b89d1ec8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b89d1888 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b89d1568 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b89d0c30 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b89d09b0 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b899aba8 @action_requirement="show", @defaults={:controller=>"products", :action=>"show"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"show"}, @requirements={:controller=>"products", :action=>"show"}, @to_s="GET    /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b89a2ba0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b89a20b0 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b89a0fd0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b899e2d0 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b899e140 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b8975498 @action_requirement="update", @defaults={:controller=>"products", :action=>"update"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"update"}, @requirements={:controller=>"products", :action=>"update"}, @to_s="PUT    /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8976438 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b89762f8 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b8976190 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b8976050 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8975f60 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:put}>, #<ActionController::Routing::Route:0x7fc5b896eda0 @action_requirement="destroy", @defaults={:controller=>"products", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"destroy"}, @requirements={:controller=>"products", :action=>"destroy"}, @to_s="DELETE /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b896fcf0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b896fbb0 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b896fa48 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b896f908 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b896f818 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:delete}>, #<ActionController::Routing::Route:0x7fc5b89635b8 @action_requirement=nil, @defaults={:action=>"index"}, @matching_prepared=true, @controller_requirement=nil, @significant_keys=[:controller, :action, :id], @parameter_shell={}, @requirements={}, @to_s="ANY    /:controller/:action/:id/                {}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b89672d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0x7fc5b8967190 @key=:controller, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b8967028 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b8966ee8 @key=:action, @is_optional=true, @default="index">, #<ActionController::Routing::DividerSegment:0x7fc5b8963b58 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b8963a18 @key=:id, @is_optional=true>, #<ActionController::Routing::DividerSegment:0x7fc5b89638b0 @is_optional=true, @raw=true, @value="/">], @optimise=false, @conditions={}>, #<ActionController::Routing::Route:0x7fc5b894db28 @action_requirement=nil, @defaults={:action=>"index"}, @matching_prepared=true, @controller_requirement=nil, @significant_keys=[:controller, :action, :id, :format], @parameter_shell={}, @requirements={}, @to_s="ANY    /:controller/:action/:id(.:format)?      {}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b894f298 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0x7fc5b894f158 @key=:controller, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b894eff0 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b894eeb0 @key=:action, @is_optional=true, @default="index">, #<ActionController::Routing::DividerSegment:0x7fc5b894ed48 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b894ebe0 @key=:id, @is_optional=true>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b894e870 @key=:format, @is_optional=true>], @optimise=false, @conditions={}>, #<ActionController::Routing::Route:0x7fc5b89085a0 @action_requirement="index", @defaults={:controller=>"users", :action=>"index"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"index"}, @requirements={:controller=>"users", :action=>"index"}, @to_s="GET    /users(.:format)?                        {:controller=>\"users\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8908f50 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8908e10 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8908d20 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b8900710 @action_requirement="create", @defaults={:controller=>"users", :action=>"create"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"create"}, @requirements={:controller=>"users", :action=>"create"}, @to_s="POST   /users(.:format)?                        {:controller=>\"users\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8901570 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8901250 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8901160 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:post}>, #<ActionController::Routing::Route:0x7fc5b88ef2a8 @action_requirement="new", @defaults={:controller=>"users", :action=>"new"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"new"}, @requirements={:controller=>"users", :action=>"new"}, @to_s="GET    /users/new(.:format)?                    {:controller=>\"users\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b88effa0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b88efe60 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b88efcf8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b88efbb8 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b88efac8 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b88ddc38 @action_requirement="edit", @defaults={:controller=>"users", :action=>"edit"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"edit"}, @requirements={:controller=>"users", :action=>"edit"}, @to_s="GET    /users/:id/edit(.:format)?               {:controller=>\"users\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b88e3a48 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b88e3070 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b88e2eb8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b88e2c60 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b88e2508 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b88e22d8 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b88e1f40 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b88d3580 @action_requirement="show", @defaults={:controller=>"users", :action=>"show"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"show"}, @requirements={:controller=>"users", :action=>"show"}, @to_s="GET    /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b88d4818 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b88d46b0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b88d44f8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b88d4390 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b88d4278 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b8899ad8 @action_requirement="update", @defaults={:controller=>"users", :action=>"update"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"update"}, @requirements={:controller=>"users", :action=>"update"}, @to_s="PUT    /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b889f578 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b889f1b8 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b889e8d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b889da70 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b889cc60 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:put}>, #<ActionController::Routing::Route:0x7fc5b8860e68 @action_requirement="destroy", @defaults={:controller=>"users", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"destroy"}, @requirements={:controller=>"users", :action=>"destroy"}, @to_s="DELETE /users/:id(.:format)?                    {:controller=>\"users\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b886f710 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b886c7e0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0x7fc5b886b958 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b8868078 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8866408 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:delete}>, #<ActionController::Routing::Route:0x7fc5b88580b0 @action_requirement="index", @defaults={:controller=>"line_items", :action=>"index"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"index"}, @requirements={:controller=>"line_items", :action=>"index"}, @to_s="GET    /line_items(.:format)?                   {:controller=>\"line_items\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8858a60 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8858920 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8858830 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b88523e0 @action_requirement="create", @defaults={:controller=>"line_items", :action=>"create"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"create"}, @requirements={:controller=>"line_items", :action=>"create"}, @to_s="POST   /line_items(.:format)?                   {:controller=>\"line_items\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b88542d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8854190 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b88540a0 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:post}>, #<ActionController::Routing::Route:0x7fc5b8841b30 @action_requirement="new", @defaults={:controller=>"line_items", :action=>"new"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"new"}, @requirements={:controller=>"line_items", :action=>"new"}, @to_s="GET    /line_items/new(.:format)?               {:controller=>\"line_items\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8842b20 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b88429e0 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b8842620 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8842490 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b88423a0 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b882fd68 @action_requirement="edit", @defaults={:controller=>"line_items", :action=>"edit"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"edit"}, @requirements={:controller=>"line_items", :action=>"edit"}, @to_s="GET    /line_items/:id/edit(.:format)?          {:controller=>\"line_items\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8838f08 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8838d78 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b8837ce8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b8837680 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b8836af0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8836488 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8836370 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b88272a8 @action_requirement="show", @defaults={:controller=>"line_items", :action=>"show"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"show"}, @requirements={:controller=>"line_items", :action=>"show"}, @to_s="GET    /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b882a390 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b882a250 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b882a0e8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b8829fa8 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8829dc8 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b881b138 @action_requirement="update", @defaults={:controller=>"line_items", :action=>"update"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"update"}, @requirements={:controller=>"line_items", :action=>"update"}, @to_s="PUT    /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b881d578 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b881d438 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b881d2d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b881d190 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b881d0a0 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:put}>, #<ActionController::Routing::Route:0x7fc5b8814ab8 @action_requirement="destroy", @defaults={:controller=>"line_items", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"destroy"}, @requirements={:controller=>"line_items", :action=>"destroy"}, @to_s="DELETE /line_items/:id(.:format)?               {:controller=>\"line_items\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8815a58 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8815918 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0x7fc5b88157b0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b8815670 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8815580 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:delete}>, #<ActionController::Routing::Route:0x7fc5b880b7d8 @action_requirement="index", @defaults={:controller=>"orders", :action=>"index"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"index"}, @requirements={:controller=>"orders", :action=>"index"}, @to_s="GET    /orders(.:format)?                       {:controller=>\"orders\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b880cae8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b880c9a8 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b880c8b8 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b87fc210 @action_requirement="create", @defaults={:controller=>"orders", :action=>"create"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"create"}, @requirements={:controller=>"orders", :action=>"create"}, @to_s="POST   /orders(.:format)?                       {:controller=>\"orders\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b87fe9c0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b87fe6f0 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b87fd9d0 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:post}>, #<ActionController::Routing::Route:0x7fc5b87d1560 @action_requirement="new", @defaults={:controller=>"orders", :action=>"new"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"new"}, @requirements={:controller=>"orders", :action=>"new"}, @to_s="GET    /orders/new(.:format)?                   {:controller=>\"orders\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b87e0e48 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b87e0d08 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b87e0b28 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b87e0010 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b87de2d8 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b876e258 @action_requirement="edit", @defaults={:controller=>"orders", :action=>"edit"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"edit"}, @requirements={:controller=>"orders", :action=>"edit"}, @to_s="GET    /orders/:id/edit(.:format)?              {:controller=>\"orders\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8772c68 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8772218 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b8772010 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b87715c0 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b8770d50 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8770530 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8770440 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b8759858 @action_requirement="show", @defaults={:controller=>"orders", :action=>"show"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"show"}, @requirements={:controller=>"orders", :action=>"show"}, @to_s="GET    /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b875bd38 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b875bb08 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b875b8b0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b875b3b0 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b875b298 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b8748bc0 @action_requirement="update", @defaults={:controller=>"orders", :action=>"update"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"update"}, @requirements={:controller=>"orders", :action=>"update"}, @to_s="PUT    /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b874b7a8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b874b3c0 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b874ad58 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b874a830 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b874a740 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:put}>, #<ActionController::Routing::Route:0x7fc5b871f540 @action_requirement="destroy", @defaults={:controller=>"orders", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"destroy"}, @requirements={:controller=>"orders", :action=>"destroy"}, @to_s="DELETE /orders/:id(.:format)?                   {:controller=>\"orders\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b8727128 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b87269f8 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0x7fc5b87263e0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b8725b20 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8725440 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:delete}>, #<ActionController::Routing::Route:0x7fc5b86fe1d8 @action_requirement="index", @defaults={:controller=>"products", :action=>"index"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"index"}, @requirements={:controller=>"products", :action=>"index"}, @to_s="GET    /products(.:format)?                     {:controller=>\"products\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b87006b8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b8700460 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b8700280 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b937cfb8 @action_requirement="create", @defaults={:controller=>"products", :action=>"create"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"create"}, @requirements={:controller=>"products", :action=>"create"}, @to_s="POST   /products(.:format)?                     {:controller=>\"products\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b86f08f8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b86f07b8 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b86f0650 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:post}>, #<ActionController::Routing::Route:0x7fc5b9345e78 @action_requirement="new", @defaults={:controller=>"products", :action=>"new"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"new"}, @requirements={:controller=>"products", :action=>"new"}, @to_s="GET    /products/new(.:format)?                 {:controller=>\"products\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b9359338 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b9358d70 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b9358258 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b9357a38 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b9357830 @key=:format, @is_optional=true>], @optimise=true, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b92b3f00 @action_requirement="edit", @defaults={:controller=>"products", :action=>"edit"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"edit"}, @requirements={:controller=>"products", :action=>"edit"}, @to_s="GET    /products/:id/edit(.:format)?            {:controller=>\"products\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b92d3fd0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b92cda18 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b92cc640 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b92cb4e8 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b92c99e0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b92c39a0 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b92c2ed8 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b9255b58 @action_requirement="show", @defaults={:controller=>"products", :action=>"show"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"show"}, @requirements={:controller=>"products", :action=>"show"}, @to_s="GET    /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b9265788 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b92635c8 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b92624c0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b9261d18 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b925fef0 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:get}>, #<ActionController::Routing::Route:0x7fc5b919b208 @action_requirement="update", @defaults={:controller=>"products", :action=>"update"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"update"}, @requirements={:controller=>"products", :action=>"update"}, @to_s="PUT    /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b91b85b0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b91b6b20 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b91b4690 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b91b29d0 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b91b2368 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:put}>, #<ActionController::Routing::Route:0x7fc5b914af38 @action_requirement="destroy", @defaults={:controller=>"products", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"destroy"}, @requirements={:controller=>"products", :action=>"destroy"}, @to_s="DELETE /products/:id(.:format)?                 {:controller=>\"products\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b9153570 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0x7fc5b9151d10 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0x7fc5b91515b8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b91512e8 @regexp=/[^\/.?]+/, @key=:id, @is_optional=false>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5b9150f28 @key=:format, @is_optional=true>], @optimise=false, @conditions={:method=>:delete}>, #<ActionController::Routing::Route:0x7fc5b97b3258 @action_requirement=nil, @defaults={:action=>"index"}, @matching_prepared=true, @controller_requirement=nil, @significant_keys=[:controller, :action, :id], @parameter_shell={}, @requirements={}, @to_s="ANY    /:controller/:action/:id/                {}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5b97bcb78 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0x7fc5b97bc740 @key=:controller, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5b97b7470 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b97b6778 @key=:action, @is_optional=true, @default="index">, #<ActionController::Routing::DividerSegment:0x7fc5b97b5a58 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5b97b47c0 @key=:id, @is_optional=true>, #<ActionController::Routing::DividerSegment:0x7fc5b97b4310 @is_optional=true, @raw=true, @value="/">], @optimise=false, @conditions={}>, #<ActionController::Routing::Route:0x7fc5bb1ea1f8 @action_requirement=nil, @defaults={:action=>"index"}, @matching_prepared=true, @controller_requirement=nil, @significant_keys=[:controller, :action, :id, :format], @parameter_shell={}, @requirements={}, @to_s="ANY    /:controller/:action/:id(.:format)?      {}", @segments=[#<ActionController::Routing::DividerSegment:0x7fc5bb1f9ba8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0x7fc5bb1f9540 @key=:controller, @is_optional=false>, #<ActionController::Routing::DividerSegment:0x7fc5bb1f85f0 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5bb1f83c0 @key=:action, @is_optional=true, @default="index">, #<ActionController::Routing::DividerSegment:0x7fc5bb1f7790 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0x7fc5bb1f6ca0 @key=:id, @is_optional=true>, #<ActionController::Routing::OptionalFormatSegment:0x7fc5bb1f6930 @key=:format, @is_optional=true>], @optimise=false, @conditions={}>], @builder=#<ActionController::Routing::RouteBuilder:0x7fc5b66625a0 @separators=["/", ".", "?"], @nonseparator_regexp=/\A([^\/\.\?]+)/, @separator_regexp=/[\/\.\?]/, @optional_separators=["/"], @interval_regexp=/(.*?)((?-mix:[\/\.\?])|$)/>>
>> app = ActionController::Integration::Session.new
=> #<ActionController::Integration::Session:0x7fc5b609af28 @status_message=nil, @named_routes_configured=true, @result=nil, @cookies={}, @status=nil, @host="www.example.com", @request_count=0, @controller=nil, @headers=nil, @application=#<ActionController::Dispatcher:0x7fc5b609ac58 @output=#<IO:0x7fc5bb2c6ae0>>, @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, @path=nil, @request=nil, @remote_addr="127.0.0.1", @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-p371/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-p371/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-p371/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-p371/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-p371/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-p371/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:0x7f4936786b18 @named_routes=#<ActionController::Routing::RouteSet::NamedRouteCollection:0x7f493885aa10 @helpers=[], @module=#<Module:0x7f4938848838>, @routes={}>, @configuration_files=[], @routes=[]>
>> app = ActionController::Integration::Session.new
=> #<ActionController::Integration::Session:0x7f4934fdbd10 @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:0x7f4934fc8f80 @app=#<Rack::Lock:0x7f4934fb0d18 @app=#<ActionController::Failsafe:0x7f4934fb0ed0 @app=#<ActionController::ParamsParser:0x7f4934fb1088 @app=#<Rack::MethodOverride:0x7f4934fb1240 @app=#<Rack::Head:0x7f4934fb13f8 @app=#<ActionController::StringCoercion:0x7f4934fb18f8 @app=#<Proc:0x00007f4934fd5a50@/home/rubys/git/awdwr/edition3/work-187-23/view/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:130>>>>>>, @lock=#<Mutex:0x7f4934fb0bb0>>, @output=#<IO:0x7f49388ceac8>>, @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-187-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