Skip to content
  • viralpraxis's avatar
    226d7c68
    Add ActionDispatch::Request::Session#store method. · 226d7c68
    viralpraxis authored
    
    
    Rack specification states that a hash-like object
    stored in environment with `rack.session` key
    MUST implement `store/2` method.
    
    Without the alias, this test fails with the following:
    
    ```
    Exception while processing request: Rack::Lint::LintError: session #<ActionDispatch::Request::Session:0x3570 not yet loaded> must respond to store and []=
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.8/lib/rack/lint.rb:206:in `check_environment'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.8/lib/rack/lint.rb:63:in `response'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.8/lib/rack/lint.rb:41:in `call'
        lib/action_dispatch/middleware/cookies.rb:706:in `call'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-session-2.0.0/lib/rack/session/abstract/id.rb:272:in `context'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-session-2.0.0/lib/rack/session/abstract/id.rb:266:in `call'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.8/lib/rack/head.rb:15:in `call'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.8/lib/rack/method_override.rb:28:in `call'
        lib/action_dispatch/middleware/cookies.rb:706:in `call'
        lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
        /home/zzak/code/rails/activesupport/lib/active_support/callbacks.rb:100:in `run_callbacks'
        lib/action_dispatch/middleware/callbacks.rb:30:in `call'
        lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
        lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
        lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
        test/abstract_unit.rb:110:in `call'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-test-2.1.0/lib/rack/test.rb:360:in `process_request'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-test-2.1.0/lib/rack/test.rb:153:in `request'
        lib/action_dispatch/testing/integration.rb:297:in `process'
        lib/action_dispatch/testing/integration.rb:19:in `get'
        lib/action_dispatch/testing/integration.rb:388:in `get'
        test/dispatch/request/session_test.rb:224:in `test_session_follows_rack_api_contract_1'
    ```
    
    Co-authored-by: default avatarviralpraxis <iaroslav2k@gmail.com>
    Co-authored-by: default avatarzzak <zzakscott@gmail.com>
    Co-authored-by: default avatarHartley McGuire <skipkayhil@gmail.com>
    226d7c68
    Add ActionDispatch::Request::Session#store method.
    viralpraxis authored
    
    
    Rack specification states that a hash-like object
    stored in environment with `rack.session` key
    MUST implement `store/2` method.
    
    Without the alias, this test fails with the following:
    
    ```
    Exception while processing request: Rack::Lint::LintError: session #<ActionDispatch::Request::Session:0x3570 not yet loaded> must respond to store and []=
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.8/lib/rack/lint.rb:206:in `check_environment'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.8/lib/rack/lint.rb:63:in `response'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.8/lib/rack/lint.rb:41:in `call'
        lib/action_dispatch/middleware/cookies.rb:706:in `call'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-session-2.0.0/lib/rack/session/abstract/id.rb:272:in `context'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-session-2.0.0/lib/rack/session/abstract/id.rb:266:in `call'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.8/lib/rack/head.rb:15:in `call'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-3.1.8/lib/rack/method_override.rb:28:in `call'
        lib/action_dispatch/middleware/cookies.rb:706:in `call'
        lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'
        /home/zzak/code/rails/activesupport/lib/active_support/callbacks.rb:100:in `run_callbacks'
        lib/action_dispatch/middleware/callbacks.rb:30:in `call'
        lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'
        lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'
        lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'
        test/abstract_unit.rb:110:in `call'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-test-2.1.0/lib/rack/test.rb:360:in `process_request'
        /home/zzak/.rbenv/versions/3.3.6/lib/ruby/gems/3.3.0/gems/rack-test-2.1.0/lib/rack/test.rb:153:in `request'
        lib/action_dispatch/testing/integration.rb:297:in `process'
        lib/action_dispatch/testing/integration.rb:19:in `get'
        lib/action_dispatch/testing/integration.rb:388:in `get'
        test/dispatch/request/session_test.rb:224:in `test_session_follows_rack_api_contract_1'
    ```
    
    Co-authored-by: default avatarviralpraxis <iaroslav2k@gmail.com>
    Co-authored-by: default avatarzzak <zzakscott@gmail.com>
    Co-authored-by: default avatarHartley McGuire <skipkayhil@gmail.com>
Loading