GATEWAY_INTERFACE: "CGI/1.1"
HTTP_ACCEPT: "text/html"
HTTP_COOKIE: "_depot_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e; path=/; HttpOnly"
HTTP_HOST: "localhost:3000"
HTTP_USER_AGENT: "Ruby"
HTTP_VERSION: "HTTP/1.1"
PATH_INFO: "/products"
QUERY_STRING: ""
REMOTE_ADDR: "127.0.0.1"
REMOTE_HOST: "localhost"
REQUEST_METHOD: "GET"
REQUEST_PATH: "/"
REQUEST_URI: "http://localhost:3000/products"
SCRIPT_NAME: ""
SERVER_NAME: "localhost"
SERVER_PORT: "3000"
SERVER_PROTOCOL: "HTTP/1.1"
SERVER_SOFTWARE: "WEBrick/1.3.1 (Ruby/1.9.4/2011-10-18)"
action_controller.instance: #<ProductsController:0x00000002cbb3d8 @action_has_layout=true, @view_context_class=nil, @_headers={"Content-Type"=>"text/html"}, @_status=200, @_response=#<ActionDispatch::Response:0x00000002cbb220 @writer=#<Proc:0x00000002cbb130@/home/rubys/git/rails/actionpack/lib/action_dispatch/http/response.rb:43 (lambda)>, @block=nil, @length=0, @header={}, @status=200, @body=[], @cookie=[], @sending_file=false, @blank=false, @cache_control={}, @etag=nil, @request=#<ActionDispatch::Request:0x00000002cbb248 @env={"GATEWAY_INTERFACE"=>"CGI/1.1", "PATH_INFO"=>"/products", "QUERY_STRING"=>"", "REMOTE_ADDR"=>"127.0.0.1", "REMOTE_HOST"=>"localhost", "REQUEST_METHOD"=>"GET", "REQUEST_URI"=>"http://localhost:3000/products", "SCRIPT_NAME"=>"", "SERVER_NAME"=>"localhost", "SERVER_PORT"=>"3000", "SERVER_PROTOCOL"=>"HTTP/1.1", "SERVER_SOFTWARE"=>"WEBrick/1.3.1 (Ruby/1.9.4/2011-10-18)", "HTTP_ACCEPT"=>"text/html", "HTTP_USER_AGENT"=>"Ruby", "HTTP_COOKIE"=>"_depot_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e; path=/; HttpOnly", "HTTP_HOST"=>"localhost:3000", "rack.version"=>[1, 1], "rack.input"=>#<StringIO:0x00000002c573d8>, "rack.errors"=>#<IO:<STDERR>>, "rack.multithread"=>false, "rack.multiprocess"=>false, "rack.run_once"=>false, "rack.url_scheme"=>"http", "HTTP_VERSION"=>"HTTP/1.1", "REQUEST_PATH"=>"/", "action_dispatch.parameter_filter"=>[:password], "action_dispatch.secret_token"=>"0c700880ec8ef6cc0fe0d3d765b005ce374ab2265890b544fba0ce232905987e46fef457d586c1a7e48c2431b85eb9000d93c451c1c6838286ff611c451130fb", "action_dispatch.show_exceptions"=>true, "action_dispatch.remote_ip"=>127.0.0.1, "rack.session"=>{"session_id"=>"e438cef51c00c16ce9d17f7beb7b6138", "_csrf_token"=>"ytc5F0/26DZl5AtzD9AR/91EQQfd+R5uBx01vSzlai0=", "cart_id"=>3}, "rack.session.options"=>{:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :id=>"e438cef51c00c16ce9d17f7beb7b6138"}, "rack.request.cookie_string"=>"_depot_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e; path=/; HttpOnly", "rack.request.cookie_hash"=>{"_depot_session"=>"BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e", "path"=>"/", "HttpOnly"=>nil}, "action_dispatch.cookies"=>{"_depot_session"=>"BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e", "path"=>"/", "HttpOnly"=>nil}, "action_dispatch.request.unsigned_session_cookie"=>{"session_id"=>"e438cef51c00c16ce9d17f7beb7b6138", "_csrf_token"=>"ytc5F0/26DZl5AtzD9AR/91EQQfd+R5uBx01vSzlai0=", "cart_id"=>3}, "action_dispatch.request.path_parameters"=>{:action=>"index", :controller=>"products"}, "action_controller.instance"=>#<ProductsController:0x00000002cbb3d8 ...>, "action_dispatch.request.content_type"=>nil, "action_dispatch.request.request_parameters"=>{}, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}, "action_dispatch.request.query_parameters"=>{}, "action_dispatch.request.parameters"=>{"action"=>"index", "controller"=>"products"}, "action_dispatch.request.accepts"=>[text/html], "action_dispatch.request.formats"=>[text/html]}, @request_method="GET", @filtered_parameters={"action"=>"index", "controller"=>"products"}, @method="GET", @fullpath="/products", @symbolized_path_params={:action=>"index", :controller=>"products"}>, @content_type="text/html">, @_request=#<ActionDispatch::Request:0x00000002cbb248 @env={"GATEWAY_INTERFACE"=>"CGI/1.1", "PATH_INFO"=>"/products", "QUERY_STRING"=>"", "REMOTE_ADDR"=>"127.0.0.1", "REMOTE_HOST"=>"localhost", "REQUEST_METHOD"=>"GET", "REQUEST_URI"=>"http://localhost:3000/products", "SCRIPT_NAME"=>"", "SERVER_NAME"=>"localhost", "SERVER_PORT"=>"3000", "SERVER_PROTOCOL"=>"HTTP/1.1", "SERVER_SOFTWARE"=>"WEBrick/1.3.1 (Ruby/1.9.4/2011-10-18)", "HTTP_ACCEPT"=>"text/html", "HTTP_USER_AGENT"=>"Ruby", "HTTP_COOKIE"=>"_depot_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e; path=/; HttpOnly", "HTTP_HOST"=>"localhost:3000", "rack.version"=>[1, 1], "rack.input"=>#<StringIO:0x00000002c573d8>, "rack.errors"=>#<IO:<STDERR>>, "rack.multithread"=>false, "rack.multiprocess"=>false, "rack.run_once"=>false, "rack.url_scheme"=>"http", "HTTP_VERSION"=>"HTTP/1.1", "REQUEST_PATH"=>"/", "action_dispatch.parameter_filter"=>[:password], "action_dispatch.secret_token"=>"0c700880ec8ef6cc0fe0d3d765b005ce374ab2265890b544fba0ce232905987e46fef457d586c1a7e48c2431b85eb9000d93c451c1c6838286ff611c451130fb", "action_dispatch.show_exceptions"=>true, "action_dispatch.remote_ip"=>127.0.0.1, "rack.session"=>{"session_id"=>"e438cef51c00c16ce9d17f7beb7b6138", "_csrf_token"=>"ytc5F0/26DZl5AtzD9AR/91EQQfd+R5uBx01vSzlai0=", "cart_id"=>3}, "rack.session.options"=>{:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :id=>"e438cef51c00c16ce9d17f7beb7b6138"}, "rack.request.cookie_string"=>"_depot_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e; path=/; HttpOnly", "rack.request.cookie_hash"=>{"_depot_session"=>"BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e", "path"=>"/", "HttpOnly"=>nil}, "action_dispatch.cookies"=>{"_depot_session"=>"BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e", "path"=>"/", "HttpOnly"=>nil}, "action_dispatch.request.unsigned_session_cookie"=>{"session_id"=>"e438cef51c00c16ce9d17f7beb7b6138", "_csrf_token"=>"ytc5F0/26DZl5AtzD9AR/91EQQfd+R5uBx01vSzlai0=", "cart_id"=>3}, "action_dispatch.request.path_parameters"=>{:action=>"index", :controller=>"products"}, "action_controller.instance"=>#<ProductsController:0x00000002cbb3d8 ...>, "action_dispatch.request.content_type"=>nil, "action_dispatch.request.request_parameters"=>{}, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}, "action_dispatch.request.query_parameters"=>{}, "action_dispatch.request.parameters"=>{"action"=>"index", "controller"=>"products"}, "action_dispatch.request.accepts"=>[text/html], "action_dispatch.request.formats"=>[text/html]}, @request_method="GET", @filtered_parameters={"action"=>"index", "controller"=>"products"}, @method="GET", @fullpath="/products", @symbolized_path_params={:action=>"index", :controller=>"products"}>, @_env={"GATEWAY_INTERFACE"=>"CGI/1.1", "PATH_INFO"=>"/products", "QUERY_STRING"=>"", "REMOTE_ADDR"=>"127.0.0.1", "REMOTE_HOST"=>"localhost", "REQUEST_METHOD"=>"GET", "REQUEST_URI"=>"http://localhost:3000/products", "SCRIPT_NAME"=>"", "SERVER_NAME"=>"localhost", "SERVER_PORT"=>"3000", "SERVER_PROTOCOL"=>"HTTP/1.1", "SERVER_SOFTWARE"=>"WEBrick/1.3.1 (Ruby/1.9.4/2011-10-18)", "HTTP_ACCEPT"=>"text/html", "HTTP_USER_AGENT"=>"Ruby", "HTTP_COOKIE"=>"_depot_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e; path=/; HttpOnly", "HTTP_HOST"=>"localhost:3000", "rack.version"=>[1, 1], "rack.input"=>#<StringIO:0x00000002c573d8>, "rack.errors"=>#<IO:<STDERR>>, "rack.multithread"=>false, "rack.multiprocess"=>false, "rack.run_once"=>false, "rack.url_scheme"=>"http", "HTTP_VERSION"=>"HTTP/1.1", "REQUEST_PATH"=>"/", "action_dispatch.parameter_filter"=>[:password], "action_dispatch.secret_token"=>"0c700880ec8ef6cc0fe0d3d765b005ce374ab2265890b544fba0ce232905987e46fef457d586c1a7e48c2431b85eb9000d93c451c1c6838286ff611c451130fb", "action_dispatch.show_exceptions"=>true, "action_dispatch.remote_ip"=>127.0.0.1, "rack.session"=>{"session_id"=>"e438cef51c00c16ce9d17f7beb7b6138", "_csrf_token"=>"ytc5F0/26DZl5AtzD9AR/91EQQfd+R5uBx01vSzlai0=", "cart_id"=>3}, "rack.session.options"=>{:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :id=>"e438cef51c00c16ce9d17f7beb7b6138"}, "rack.request.cookie_string"=>"_depot_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e; path=/; HttpOnly", "rack.request.cookie_hash"=>{"_depot_session"=>"BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e", "path"=>"/", "HttpOnly"=>nil}, "action_dispatch.cookies"=>{"_depot_session"=>"BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e", "path"=>"/", "HttpOnly"=>nil}, "action_dispatch.request.unsigned_session_cookie"=>{"session_id"=>"e438cef51c00c16ce9d17f7beb7b6138", "_csrf_token"=>"ytc5F0/26DZl5AtzD9AR/91EQQfd+R5uBx01vSzlai0=", "cart_id"=>3}, "action_dispatch.request.path_parameters"=>{:action=>"index", :controller=>"products"}, "action_controller.instance"=>#<ProductsController:0x00000002cbb3d8 ...>, "action_dispatch.request.content_type"=>nil, "action_dispatch.request.request_parameters"=>{}, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}, "action_dispatch.request.query_parameters"=>{}, "action_dispatch.request.parameters"=>{"action"=>"index", "controller"=>"products"}, "action_dispatch.request.accepts"=>[text/html], "action_dispatch.request.formats"=>[text/html]}, @lookup_context=#<ActionView::LookupContext:0x00000002cba6b8 @details_key=#<ActionView::LookupContext::DetailsKey:0x000000022ee9b8 @hash=-3696212952952727944>, @details={:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en, :en]}, @skip_default_locale=false, @frozen_formats=true, @view_paths=[/home/rubys/git/awdwr/edition4/work-193-30/depot/app/views]>, @_action_name="index", @_response_body=nil, @_config={}, @products=[#<Product id: 2, title: "CoffeeScript", description: "<p>\n CoffeeScript is JavaScript done right. ...", image_url: "/images/cs.jpg", price: #<BigDecimal:2a73080,'0.36E2',9(36)>, created_at: "2011-10-18 16:39:14", updated_at: "2011-10-18 16:39:14">, #<Product id: 3, title: "Programming Ruby 1.9", description: "<p>\n Ruby is the fastest growing and most ex...", image_url: "/images/ruby.jpg", price: #<BigDecimal:2a711b8,'0.4995E2',18(45)>, created_at: "2011-10-18 16:39:15", updated_at: "2011-10-18 16:39:15">, #<Product id: 4, title: "Rails Test Prescriptions", description: "<p>\n <em>Rails Test Prescriptions</em> is a ...", image_url: "/images/rtp.jpg", price: #<BigDecimal:2a77220,'0.3495E2',18(45)>, created_at: "2011-10-18 16:39:15", updated_at: "2011-10-18 16:39:15">]>
action_dispatch.cookies: {"_depot_session"=>"BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e", "path"=>"/", "HttpOnly"=>nil}
action_dispatch.parameter_filter: [:password]
action_dispatch.remote_ip: 127.0.0.1
action_dispatch.request.accepts: [text/html]
action_dispatch.request.content_type: nil
action_dispatch.request.formats: [text/html]
action_dispatch.request.parameters: {"action"=>"index", "controller"=>"products"}
action_dispatch.request.path_parameters: {:action=>"index", :controller=>"products"}
action_dispatch.request.query_parameters: {}
action_dispatch.request.request_parameters: {}
action_dispatch.request.unsigned_session_cookie: {"session_id"=>"e438cef51c00c16ce9d17f7beb7b6138", "_csrf_token"=>"ytc5F0/26DZl5AtzD9AR/91EQQfd+R5uBx01vSzlai0=", "cart_id"=>3}
action_dispatch.secret_token: "0c700880ec8ef6cc0fe0d3d765b005ce374ab2265890b544fba0ce232905987e46fef457d586c1a7e48c2431b85eb9000d93c451c1c6838286ff611c451130fb"
action_dispatch.show_exceptions: true
rack.errors: #<IO:<STDERR>>
rack.input: #<StringIO:0x00000002c573d8>
rack.multiprocess: false
rack.multithread: false
rack.request.cookie_hash: {"_depot_session"=>"BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e", "path"=>"/", "HttpOnly"=>nil}
rack.request.cookie_string: "_depot_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlZTQzOGNlZjUxYzAwYzE2Y2U5ZDE3ZjdiZWI3YjYxMzhJIhBfY3NyZl90b2tlbgY7AEZJIjF5dGM1RjAvMjZEWmw1QXR6RDlBUi85MUVRUWZkK1I1dUJ4MDF2U3psYWkwPQY7AEZJIgxjYXJ0X2lkBjsARmkI--f3bb9f8d97cf7f3faa548b8095f780147e828d9e; path=/; HttpOnly"
rack.request.query_hash: {}
rack.request.query_string: ""
rack.run_once: false
rack.session: {"session_id"=>"e438cef51c00c16ce9d17f7beb7b6138", "_csrf_token"=>"ytc5F0/26DZl5AtzD9AR/91EQQfd+R5uBx01vSzlai0=", "cart_id"=>3}
rack.session.options: {:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :id=>"e438cef51c00c16ce9d17f7beb7b6138"}
rack.url_scheme: "http"
rack.version: [1, 1]