roidrage / redis-session-store

A simple session store for Rails based on Redis.
http://github.com/roidrage/redis-session-store
MIT License
366 stars 147 forks source link

Remove ttl from redis initialization options for redis-rb v5 #149

Open yoshoku opened 1 year ago

yoshoku commented 1 year ago

redis-rb v5 depends on redis_client, and redis_client's initialize method does not have ttl keyword argument, so specifying the ttl option in redis-session-store will cause an ArgumentError when starting Rails. This problem can be solved by not giving the ttl option to Redis.new, as in https://github.com/roidrage/redis-session-store/pull/137.

$ bin/rails s
=> Booting Puma
=> Rails 7.0.4.3 application starting in development
=> Run `bin/rails server --help` for more startup options
Exiting
/home/foo/.anyenv/envs/rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/redis-client-0.14.1/lib/redis_client/config.rb:21:in `initialize': unknown keyword: :ttl (ArgumentError)
    from /home/foo/.anyenv/envs/rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/redis-client-0.14.1/lib/redis_client/config.rb:184:in `initialize'
    from /home/foo/.anyenv/envs/rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/redis-client-0.14.1/lib/redis_client.rb:143:in `new'
    from /home/foo/.anyenv/envs/rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/redis-client-0.14.1/lib/redis_client.rb:143:in `config'
    from /home/foo/.anyenv/envs/rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/redis-5.0.6/lib/redis/client.rb:23:in `config'
    from /home/foo/.anyenv/envs/rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/redis-5.0.6/lib/redis.rb:157:in `initialize_client'
    from /home/foo/.anyenv/envs/rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/redis-5.0.6/lib/redis.rb:73:in `initialize'
    from /home/foo/.anyenv/envs/rbenv/versions/3.1.3/lib/ruby/gems/3.1.0/gems/redis-session-store-0.11.5/lib/redis-session-store.rb:46:in `new'
...