redis-session-store 0.9.1 → 0.11.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZDg2OGU1YjUzMjA1OTgzOWQ3NzdkNDI2YWQ1NGNmZjBjNjQzMmE1Ng==
5
- data.tar.gz: !binary |-
6
- YzY5NDk0Y2U5ODIwYTIyMzlkZjM0ZDA4MDI0ZTk5ODNkNDNhNTJiNQ==
2
+ SHA256:
3
+ metadata.gz: 26ff10b9f32cb399a27355db6209d933957bedc5def7e5671bc8491aee0e9114
4
+ data.tar.gz: b60fcf186f22a116013d17628bd53056505e1cf9fc392ced60b9072e86a95e20
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- YzZlNTc1MDRhODY3ZmRlM2NmYjQwNjY5NWRkMjgwMzk2MmMwYWRlNTBmOGY2
10
- ZTljOGU4ODdlYjU2YTc3ZjdiOWQ3YmJiNTMwYzg5ZDkzMWZlM2E1YjYyNTcy
11
- M2Y4ZjMxNWRmMTQyZWY0MGM5ZGM0YmU0OTQ4ZGRjNzRlNmViNTc=
12
- data.tar.gz: !binary |-
13
- MGEyMGVmZWUyZDkxODMxN2UyM2Y2Y2Y4YWZiMzMwNDZhOTI0NWRkODg4ZjRi
14
- NjJjM2I0NWY3YWQ1NGFkNmM1Y2QxZmRiODZiZTMxZGZhZWQ2NzliY2JiY2E0
15
- OTczMjBkZjgwNGQyM2FlMjg2NzA1OWVjNmQ0YWY5YTM3YzQ5Yzc=
6
+ metadata.gz: 977cad8b272aed6334f68ccec5b861262a5fc1a2729b3f86bcb36097278fc5da9837c95f434328c3d421aafcaac3eba2c2b04c6429f20f1d40a324c1e82ab607
7
+ data.tar.gz: 45f5e777113518ca666417a38e0df124760aaf64d5d0624de16b8b8be03b8c835c5d77e838341e79d90c0564f842975f6adf28a40a3b3bea8faa090ddc51813c
@@ -1,7 +1,38 @@
1
- inherit_from: .rubocop_todo.yml
1
+ AllCops:
2
+ DisplayCopNames: true
3
+ Exclude:
4
+ - 'Rakefile'
5
+ - 'vendor/**/*'
2
6
 
3
- FileName:
7
+ Naming/FileName:
4
8
  Enabled: false
5
9
 
6
- DoubleNegation:
10
+ Style/DoubleNegation:
7
11
  Enabled: false
12
+
13
+ Metrics/BlockLength:
14
+ Exclude:
15
+ - 'spec/**/*.rb'
16
+
17
+ Layout/LineLength:
18
+ Max: 100
19
+
20
+ Metrics/ClassLength:
21
+ Max: 120
22
+
23
+ Security/MarshalLoad:
24
+ Enabled: false
25
+
26
+ Style/FrozenStringLiteralComment:
27
+ Enabled: false
28
+
29
+ Style/PercentLiteralDelimiters:
30
+ Enabled: false
31
+
32
+ Style/SafeNavigation:
33
+ Enabled: false
34
+
35
+ Style/YodaCondition:
36
+ # temporary work around for rubocop bug 'An error occurred while Style/YodaCondition...' (v0.49.1)
37
+ Exclude:
38
+ - 'spec/redis_session_store_spec.rb'
@@ -1,12 +1,16 @@
1
1
  language: ruby
2
- sudo: false
3
2
  cache: bundler
4
3
  rvm:
5
- - 2.3.1
6
- - jruby-9.1.1.0
4
+ - 2.3
5
+ - 2.4
6
+ - 2.5
7
+ - 2.6
8
+ - ruby-head
9
+ - jruby-9.2.9.0
7
10
  matrix:
8
11
  allow_failures:
9
- - rvm: jruby-9.1.1.0
12
+ - rvm: ruby-head
13
+ - rvm: jruby-9.2.9.0
10
14
  notifications:
11
15
  email: false
12
16
  deploy:
@@ -17,4 +21,4 @@ deploy:
17
21
  on:
18
22
  tags: true
19
23
  repo: roidrage/redis-session-store
20
- rvm: 2.3.1
24
+ rvm: 2.3.8
data/AUTHORS.md CHANGED
@@ -7,6 +7,7 @@ Redis Session Store authors
7
7
  - Edwin Cruz
8
8
  - Gonçalo Silva
9
9
  - Ian C. Anderson
10
+ - Jesse Doyle
10
11
  - Jorge Pardiñas
11
12
  - Justin McNally
12
13
  - Mathias Meyer
@@ -15,3 +16,10 @@ Redis Session Store authors
15
16
  - Olek Poplavsky
16
17
  - Tim Lossen
17
18
  - Todd Bealmear
19
+ - Aleksey Dashkevych
20
+ - Olle Jonsson
21
+ - Nicolas Rodriguez
22
+ - Sergey Nebolsin
23
+ - Anton Kolodii
24
+ - Peter Karman
25
+ - Zach Margolis
@@ -4,6 +4,38 @@
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.11.2] - 2020-07-22
8
+ ### Changed
9
+ - Silence deprecation warning when using with redis gem v4.2+
10
+
11
+ ## [0.11.1] - 2019-08-22
12
+ ### Changed
13
+ - Remove the `has_rdoc` parameter from the `.gemspec` file as it has been deprecated.
14
+ - Actionpack to '>= 3', remove upper dependency
15
+
16
+ ## [0.11.0] - 2018-08-13
17
+ ### Changed
18
+ - JRuby to jruby-9.2.0.0
19
+ - Travis Ruby support: 2.3.7, 2.4.4, 2.5.1
20
+
21
+ ### Added
22
+ - :ttl configuration option
23
+
24
+ ## [0.10.0] - 2018-04-14
25
+ ### Changed
26
+ - JRuby to jruby-9.1.15.0
27
+ - Redis to '>= 3', '< 5'
28
+ - Actionpack to '>= 3', '< 6'
29
+ - Rake to 12
30
+
31
+ ### Added
32
+ - with_indifferent_access if defined ActiveSupport
33
+
34
+ ## [0.9.2] - 2017-10-31
35
+ ### Changed
36
+ - Actionpack to 5.1
37
+ - Travis use jruby 9.1.13.0
38
+
7
39
  ## [0.9.1] - 2016-07-03
8
40
  ### Added
9
41
  - More specific runtime dependencies
@@ -201,7 +233,11 @@
201
233
  ### Added
202
234
  - first working version
203
235
 
204
- [Unreleased]: https://github.com/roidrage/redis-session-store/compare/v0.9.1...HEAD
236
+ [Unreleased]: https://github.com/roidrage/redis-session-store/compare/v0.11.1...HEAD
237
+ [0.11.1]: https://github.com/roidrage/redis-session-store/compare/v0.11.0...v0.11.1
238
+ [0.11.0]: https://github.com/roidrage/redis-session-store/compare/v0.10.0...v0.11.0
239
+ [0.10.0]: https://github.com/roidrage/redis-session-store/compare/v0.9.2...v0.10.0
240
+ [0.9.2]: https://github.com/roidrage/redis-session-store/compare/v0.9.1...v0.9.2
205
241
  [0.9.1]: https://github.com/roidrage/redis-session-store/compare/v0.9.0...v0.9.1
206
242
  [0.9.0]: https://github.com/roidrage/redis-session-store/compare/v0.8.1...v0.9.0
207
243
  [0.8.1]: https://github.com/roidrage/redis-session-store/compare/v0.8.0...v0.8.1
data/README.md CHANGED
@@ -33,12 +33,13 @@ See `lib/redis-session-store.rb` for a list of valid options.
33
33
  In your Rails app, throw in an initializer with the following contents:
34
34
 
35
35
  ``` ruby
36
- My::Application.config.session_store :redis_session_store, {
36
+ Rails.application.config.session_store :redis_session_store, {
37
37
  key: 'your_session_key',
38
38
  redis: {
39
- expire_after: 120.minutes,
39
+ expire_after: 120.minutes, # cookie expiration
40
+ ttl: 120.minutes, # Redis expiration, defaults to 'expire_after'
40
41
  key_prefix: 'myapp:session:',
41
- url: 'redis://host:12345/2',
42
+ url: 'redis://localhost:6379/0',
42
43
  }
43
44
  }
44
45
  ```
@@ -49,7 +50,7 @@ If you want to handle cases where Redis is unavailable, a custom
49
50
  callable handler may be provided as `on_redis_down`:
50
51
 
51
52
  ``` ruby
52
- My::Application.config.session_store :redis_session_store, {
53
+ Rails.application.config.session_store :redis_session_store, {
53
54
  # ... other options ...
54
55
  on_redis_down: ->(e, env, sid) { do_something_will_ya!(e) }
55
56
  redis: {
@@ -69,7 +70,7 @@ custom serializer:
69
70
  * `CustomClass` - You can just pass the constant name of any class that responds to `.load` and `.dump`
70
71
 
71
72
  ``` ruby
72
- My::Application.config.session_store :redis_session_store, {
73
+ Rails.application.config.session_store :redis_session_store, {
73
74
  # ... other options ...
74
75
  serializer: :hybrid
75
76
  redis: {
@@ -88,7 +89,7 @@ custom callable handler may be provided as `on_session_load_error` which
88
89
  will be given the error and the session ID.
89
90
 
90
91
  ``` ruby
91
- My::Application.config.session_store :redis_session_store, {
92
+ Rails.application.config.session_store :redis_session_store, {
92
93
  # ... other options ...
93
94
  on_session_load_error: ->(e, sid) { do_something_will_ya!(e) }
94
95
  redis: {
@@ -99,6 +100,10 @@ My::Application.config.session_store :redis_session_store, {
99
100
 
100
101
  **Note** The session will *always* be destroyed when it cannot be loaded.
101
102
 
103
+ ### Other notes
104
+
105
+ It returns with_indifferent_access if ActiveSupport is defined
106
+
102
107
  ## Rails 2 Compatibility
103
108
 
104
109
  This gem is currently only compatible with Rails 3+. If you need
@@ -3,16 +3,17 @@ require 'redis'
3
3
  # Redis session storage for Rails, and for Rails only. Derived from
4
4
  # the MemCacheStore code, simply dropping in Redis instead.
5
5
  class RedisSessionStore < ActionDispatch::Session::AbstractStore
6
- VERSION = '0.9.1'.freeze
6
+ VERSION = '0.11.2'.freeze
7
7
  # Rails 3.1 and beyond defines the constant elsewhere
8
8
  unless defined?(ENV_SESSION_OPTIONS_KEY)
9
- if Rack.release.split('.').first.to_i > 1
10
- ENV_SESSION_OPTIONS_KEY = Rack::RACK_SESSION_OPTIONS
11
- else
12
- ENV_SESSION_OPTIONS_KEY = Rack::Session::Abstract::ENV_SESSION_OPTIONS_KEY
13
- end
9
+ ENV_SESSION_OPTIONS_KEY = if Rack.release.split('.').first.to_i > 1
10
+ Rack::RACK_SESSION_OPTIONS
11
+ else
12
+ Rack::Session::Abstract::ENV_SESSION_OPTIONS_KEY
13
+ end
14
14
  end
15
15
 
16
+ USE_INDIFFERENT_ACCESS = defined?(ActiveSupport).freeze
16
17
  # ==== Options
17
18
  # * +:key+ - Same as with the other cookie stores, key name
18
19
  # * +:redis+ - A hash with redis-specific options
@@ -26,12 +27,12 @@ class RedisSessionStore < ActionDispatch::Session::AbstractStore
26
27
  #
27
28
  # ==== Examples
28
29
  #
29
- # My::Application.config.session_store :redis_session_store, {
30
+ # Rails.application.config.session_store :redis_session_store, {
30
31
  # key: 'your_session_key',
31
32
  # redis: {
32
33
  # expire_after: 120.minutes,
33
34
  # key_prefix: 'myapp:session:',
34
- # url: 'redis://host:12345/2'
35
+ # url: 'redis://localhost:6379/0'
35
36
  # },
36
37
  # on_redis_down: ->(*a) { logger.error("Redis down! #{a.inspect}") }
37
38
  # serializer: :hybrid # migrate from Marshal to JSON
@@ -66,7 +67,7 @@ class RedisSessionStore < ActionDispatch::Session::AbstractStore
66
67
 
67
68
  !!(
68
69
  value && !value.empty? &&
69
- redis.exists(prefixed(value))
70
+ key_exists?(value)
70
71
  )
71
72
  rescue Errno::ECONNREFUSED, Redis::CannotConnectError => e
72
73
  on_redis_down.call(e, env, value) if on_redis_down
@@ -74,6 +75,16 @@ class RedisSessionStore < ActionDispatch::Session::AbstractStore
74
75
  true
75
76
  end
76
77
 
78
+ def key_exists?(value)
79
+ if redis.respond_to?(:exists?)
80
+ # added in redis gem v4.2
81
+ redis.exists?(prefixed(value))
82
+ else
83
+ # older method, will return an integer starting in redis gem v4.3
84
+ redis.exists(prefixed(value))
85
+ end
86
+ end
87
+
77
88
  def verify_handlers!
78
89
  %w(on_redis_down on_session_load_error).each do |h|
79
90
  next unless (handler = public_send(h)) && !handler.respond_to?(:call)
@@ -86,16 +97,15 @@ class RedisSessionStore < ActionDispatch::Session::AbstractStore
86
97
  "#{default_options[:key_prefix]}#{sid}"
87
98
  end
88
99
 
89
- def get_session(env, sid)
90
- unless sid && (session = load_session_from_redis(sid))
91
- sid = generate_sid
92
- session = {}
93
- end
100
+ def session_default_values
101
+ [generate_sid, USE_INDIFFERENT_ACCESS ? {}.with_indifferent_access : {}]
102
+ end
94
103
 
95
- [sid, session]
104
+ def get_session(env, sid)
105
+ sid && (session = load_session_from_redis(sid)) ? [sid, session] : session_default_values
96
106
  rescue Errno::ECONNREFUSED, Redis::CannotConnectError => e
97
107
  on_redis_down.call(e, env, sid) if on_redis_down
98
- [generate_sid, {}]
108
+ session_default_values
99
109
  end
100
110
  alias find_session get_session
101
111
 
@@ -103,7 +113,7 @@ class RedisSessionStore < ActionDispatch::Session::AbstractStore
103
113
  data = redis.get(prefixed(sid))
104
114
  begin
105
115
  data ? decode(data) : nil
106
- rescue => e
116
+ rescue StandardError => e
107
117
  destroy_session_from_sid(sid, drop: true)
108
118
  on_session_load_error.call(e, sid) if on_session_load_error
109
119
  nil
@@ -111,23 +121,29 @@ class RedisSessionStore < ActionDispatch::Session::AbstractStore
111
121
  end
112
122
 
113
123
  def decode(data)
114
- serializer.load(data)
124
+ session = serializer.load(data)
125
+ USE_INDIFFERENT_ACCESS ? session.with_indifferent_access : session
115
126
  end
116
127
 
117
128
  def set_session(env, sid, session_data, options = nil)
118
- expiry = (options || env.fetch(ENV_SESSION_OPTIONS_KEY))[:expire_after]
129
+ expiry = get_expiry(env, options)
119
130
  if expiry
120
131
  redis.setex(prefixed(sid), expiry, encode(session_data))
121
132
  else
122
133
  redis.set(prefixed(sid), encode(session_data))
123
134
  end
124
- return sid
135
+ sid
125
136
  rescue Errno::ECONNREFUSED, Redis::CannotConnectError => e
126
137
  on_redis_down.call(e, env, sid) if on_redis_down
127
- return false
138
+ false
128
139
  end
129
140
  alias write_session set_session
130
141
 
142
+ def get_expiry(env, options)
143
+ session_storage_options = options || env.fetch(ENV_SESSION_OPTIONS_KEY, {})
144
+ session_storage_options[:ttl] || session_storage_options[:expire_after]
145
+ end
146
+
131
147
  def encode(session_data)
132
148
  serializer.dump(session_data)
133
149
  end
@@ -8,7 +8,6 @@ Gem::Specification.new do |gem|
8
8
  gem.homepage = 'https://github.com/roidrage/redis-session-store'
9
9
  gem.license = 'MIT'
10
10
 
11
- gem.has_rdoc = true
12
11
  gem.extra_rdoc_files = %w(LICENSE AUTHORS.md CONTRIBUTING.md)
13
12
 
14
13
  gem.files = `git ls-files -z`.split("\x0")
@@ -16,11 +15,11 @@ Gem::Specification.new do |gem|
16
15
  gem.version = File.read('lib/redis-session-store.rb')
17
16
  .match(/^ VERSION = '(.*)'/)[1]
18
17
 
19
- gem.add_runtime_dependency 'redis', '~> 3'
20
- gem.add_runtime_dependency 'actionpack', '>= 3', '< 5.1'
18
+ gem.add_runtime_dependency 'actionpack', '~> 3'
19
+ gem.add_runtime_dependency 'redis', '>= 3', '< 5'
21
20
 
22
21
  gem.add_development_dependency 'fakeredis', '~> 0.5'
23
- gem.add_development_dependency 'rake', '~> 11'
22
+ gem.add_development_dependency 'rake', '~> 12'
24
23
  gem.add_development_dependency 'rspec', '~> 3'
25
24
  gem.add_development_dependency 'rubocop', '~> 0.41'
26
25
  gem.add_development_dependency 'simplecov', '~> 0.11'
@@ -59,6 +59,29 @@ describe RedisSessionStore do
59
59
  end
60
60
  end
61
61
 
62
+ describe 'when configured with both :ttl and :expire_after' do
63
+ let(:ttl_seconds) { 60 * 120 }
64
+ let :options do
65
+ {
66
+ key: random_string,
67
+ secret: random_string,
68
+ redis: {
69
+ host: 'hosty.local',
70
+ port: 16_379,
71
+ db: 2,
72
+ key_prefix: 'myapp:session:',
73
+ ttl: ttl_seconds,
74
+ expire_after: nil
75
+ }
76
+ }
77
+ end
78
+
79
+ it 'assigns the :ttl option to @default_options' do
80
+ expect(default_options[:ttl]).to eq(ttl_seconds)
81
+ expect(default_options[:expire_after]).to be_nil
82
+ end
83
+ end
84
+
62
85
  describe 'when initializing with top-level redis options' do
63
86
  let :options do
64
87
  {
@@ -496,7 +519,7 @@ describe RedisSessionStore do
496
519
  end
497
520
 
498
521
  context 'when callable' do
499
- let(:options) { { :"#{h}" => ->(*) { !nil } } }
522
+ let(:options) { { "#{h}": ->(*) { true } } }
500
523
 
501
524
  it 'does not explode at init' do
502
525
  expect { store }.to_not raise_error
@@ -504,7 +527,7 @@ describe RedisSessionStore do
504
527
  end
505
528
 
506
529
  context 'when not callable' do
507
- let(:options) { { :"#{h}" => 'herpderp' } }
530
+ let(:options) { { "#{h}": 'herpderp' } }
508
531
 
509
532
  it 'explodes at init' do
510
533
  expect { store }.to raise_error(ArgumentError)
metadata CHANGED
@@ -1,117 +1,117 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis-session-store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mathias Meyer
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-03 00:00:00.000000000 Z
11
+ date: 2020-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: redis
14
+ name: actionpack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3'
27
27
  - !ruby/object:Gem::Dependency
28
- name: actionpack
28
+ name: redis
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '3'
34
- - - <
34
+ - - "<"
35
35
  - !ruby/object:Gem::Version
36
- version: '5.1'
36
+ version: '5'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - ! '>='
41
+ - - ">="
42
42
  - !ruby/object:Gem::Version
43
43
  version: '3'
44
- - - <
44
+ - - "<"
45
45
  - !ruby/object:Gem::Version
46
- version: '5.1'
46
+ version: '5'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: fakeredis
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ~>
51
+ - - "~>"
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0.5'
54
54
  type: :development
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ~>
58
+ - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '0.5'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: rake
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - ~>
65
+ - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '11'
67
+ version: '12'
68
68
  type: :development
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - ~>
72
+ - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '11'
74
+ version: '12'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rspec
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - ~>
79
+ - - "~>"
80
80
  - !ruby/object:Gem::Version
81
81
  version: '3'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - ~>
86
+ - - "~>"
87
87
  - !ruby/object:Gem::Version
88
88
  version: '3'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: rubocop
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - ~>
93
+ - - "~>"
94
94
  - !ruby/object:Gem::Version
95
95
  version: '0.41'
96
96
  type: :development
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - ~>
100
+ - - "~>"
101
101
  - !ruby/object:Gem::Version
102
102
  version: '0.41'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: simplecov
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - ~>
107
+ - - "~>"
108
108
  - !ruby/object:Gem::Version
109
109
  version: '0.11'
110
110
  type: :development
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - ~>
114
+ - - "~>"
115
115
  - !ruby/object:Gem::Version
116
116
  version: '0.11'
117
117
  description: A drop-in replacement for e.g. MemCacheStore to store Rails sessions
@@ -125,12 +125,11 @@ extra_rdoc_files:
125
125
  - AUTHORS.md
126
126
  - CONTRIBUTING.md
127
127
  files:
128
- - .gitignore
129
- - .rspec
130
- - .rubocop.yml
131
- - .rubocop_todo.yml
132
- - .simplecov
133
- - .travis.yml
128
+ - ".gitignore"
129
+ - ".rspec"
130
+ - ".rubocop.yml"
131
+ - ".simplecov"
132
+ - ".travis.yml"
134
133
  - AUTHORS.md
135
134
  - CHANGELOG.md
136
135
  - CODE_OF_CONDUCT.md
@@ -148,24 +147,23 @@ homepage: https://github.com/roidrage/redis-session-store
148
147
  licenses:
149
148
  - MIT
150
149
  metadata: {}
151
- post_install_message:
150
+ post_install_message:
152
151
  rdoc_options: []
153
152
  require_paths:
154
153
  - lib
155
154
  required_ruby_version: !ruby/object:Gem::Requirement
156
155
  requirements:
157
- - - ! '>='
156
+ - - ">="
158
157
  - !ruby/object:Gem::Version
159
158
  version: '0'
160
159
  required_rubygems_version: !ruby/object:Gem::Requirement
161
160
  requirements:
162
- - - ! '>='
161
+ - - ">="
163
162
  - !ruby/object:Gem::Version
164
163
  version: '0'
165
164
  requirements: []
166
- rubyforge_project:
167
- rubygems_version: 2.4.5
168
- signing_key:
165
+ rubygems_version: 3.1.2
166
+ signing_key:
169
167
  specification_version: 4
170
168
  summary: A drop-in replacement for e.g. MemCacheStore to store Rails sessions (and
171
169
  Rails sessions only) in Redis.
@@ -1,12 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2016-07-02 09:22:22 -0400 using RuboCop version 0.41.1.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 1
10
- # Configuration parameters: CountComments.
11
- Metrics/ClassLength:
12
- Max: 108