redis-store-pika 1.9.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,68 @@
1
+ require 'test_helper'
2
+
3
+ describe Redis::Store do
4
+ def setup
5
+ @store = Redis::Store.new
6
+ @client = @store.instance_variable_get(:@client)
7
+ end
8
+
9
+ def teardown
10
+ @store.flushdb
11
+ @store.quit
12
+ end
13
+
14
+ it "returns useful informations about the server" do
15
+ _(@store.to_s).must_equal("Redis Client connected to #{@client.host}:#{@client.port} against DB #{@client.db}")
16
+ end
17
+
18
+ it "must force reconnection" do
19
+ @client.expects(:reconnect)
20
+ @store.reconnect
21
+ end
22
+
23
+ describe '#set' do
24
+ describe 'with expiry' do
25
+ let(:options) { { :expire_after => 3600 } }
26
+
27
+ it 'must not double marshall' do
28
+ Marshal.expects(:dump).once
29
+
30
+ @store.set('key', 'value', options)
31
+ end
32
+ end
33
+
34
+ describe 'with ex and nx' do
35
+ let(:key) { 'key' }
36
+ let(:mock_value) { 'value' }
37
+ let(:options) { { nx: true, ex: 3600 } }
38
+
39
+ it 'must pass on options' do
40
+ Marshal.expects(:dump).times(4)
41
+
42
+ # without options no ex or nx will be set
43
+ @store.del(key)
44
+ _(@store.set(key, mock_value, {})).must_equal 'OK'
45
+ _(@store.set(key, mock_value, {})).must_equal 'OK'
46
+ _(@store.ttl(key)).must_equal(-1)
47
+
48
+ # with ex and nx options, the key can only be set once and a ttl will be set
49
+ @store.del(key)
50
+ _(@store.set(key, mock_value, options)).must_equal true
51
+ _(@store.set(key, mock_value, options)).must_equal false
52
+ _(@store.ttl(key)).must_equal 3600
53
+ end
54
+ end
55
+ end
56
+
57
+ describe '#setnx' do
58
+ describe 'with expiry' do
59
+ let(:options) { { :expire_after => 3600 } }
60
+
61
+ it 'must not double marshall' do
62
+ Marshal.expects(:dump).once
63
+
64
+ @store.setnx('key', 'value', options)
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,20 @@
1
+ require 'bundler/setup'
2
+ require 'minitest/autorun'
3
+ require 'mocha/minitest'
4
+ require 'redis'
5
+ require 'redis-store-pika'
6
+
7
+ $DEBUG = ENV["DEBUG"] === "true"
8
+
9
+ Redis::DistributedStore.send(:class_variable_set, :@@timeout, 30)
10
+
11
+ # http://mentalized.net/journal/2010/04/02/suppress_warnings_from_ruby/
12
+ module Kernel
13
+ def suppress_warnings
14
+ original_verbosity = $VERBOSE
15
+ $VERBOSE = nil
16
+ result = yield
17
+ $VERBOSE = original_verbosity
18
+ result
19
+ end
20
+ end
metadata ADDED
@@ -0,0 +1,246 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: redis-store-pika
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.9.2.1
5
+ platform: ruby
6
+ authors:
7
+ - Luca Guidi
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-09-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: redis
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '4'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '6'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '4'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '6'
33
+ - !ruby/object:Gem::Dependency
34
+ name: rake
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 12.3.3
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 12.3.3
47
+ - !ruby/object:Gem::Dependency
48
+ name: bundler
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: mocha
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: 2.1.0
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: 2.1.0
75
+ - !ruby/object:Gem::Dependency
76
+ name: minitest
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '5'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '5'
89
+ - !ruby/object:Gem::Dependency
90
+ name: git
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.2'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.2'
103
+ - !ruby/object:Gem::Dependency
104
+ name: pry-nav
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: 0.2.4
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: 0.2.4
117
+ - !ruby/object:Gem::Dependency
118
+ name: pry
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: 0.10.4
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: 0.10.4
131
+ - !ruby/object:Gem::Dependency
132
+ name: redis-store-testing
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: appraisal
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '2.0'
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '2.0'
159
+ - !ruby/object:Gem::Dependency
160
+ name: rubocop
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '0.54'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '0.54'
173
+ description: Namespaced Rack::Session, Rack::Cache, I18n and cache Redis stores for
174
+ Ruby web frameworks.
175
+ email:
176
+ - me@lucaguidi.com
177
+ executables: []
178
+ extensions: []
179
+ extra_rdoc_files: []
180
+ files:
181
+ - ".codeclimate.yml"
182
+ - ".github/auto-assign-issues.yml"
183
+ - ".github/workflows/ci.yml"
184
+ - ".gitignore"
185
+ - ".rubocop.yml"
186
+ - Appraisals
187
+ - CHANGELOG.md
188
+ - CODEOWNERS
189
+ - Gemfile
190
+ - MIT-LICENSE
191
+ - README.md
192
+ - Rakefile
193
+ - gemfiles/redis_4_0_x.gemfile
194
+ - gemfiles/redis_4_1_x.gemfile
195
+ - gemfiles/redis_4_6_x.gemfile
196
+ - gemfiles/redis_4_x.gemfile
197
+ - gemfiles/redis_5_x.gemfile
198
+ - lib/redis-store-pika.rb
199
+ - lib/redis-store.rb
200
+ - lib/redis/distributed_store.rb
201
+ - lib/redis/store.rb
202
+ - lib/redis/store/factory.rb
203
+ - lib/redis/store/interface.rb
204
+ - lib/redis/store/namespace.rb
205
+ - lib/redis/store/redis_version.rb
206
+ - lib/redis/store/serialization.rb
207
+ - lib/redis/store/ttl.rb
208
+ - lib/redis/store/version.rb
209
+ - redis-store.gemspec
210
+ - test/redis/distributed_store_test.rb
211
+ - test/redis/store/factory_test.rb
212
+ - test/redis/store/interface_test.rb
213
+ - test/redis/store/namespace_test.rb
214
+ - test/redis/store/redis_version_test.rb
215
+ - test/redis/store/serialization_test.rb
216
+ - test/redis/store/ttl_test.rb
217
+ - test/redis/store/version_test.rb
218
+ - test/redis/store_test.rb
219
+ - test/test_helper.rb
220
+ homepage: https://github.com/PikachuEXE/redis-store
221
+ licenses:
222
+ - MIT
223
+ metadata: {}
224
+ post_install_message: "\n This is a fork of official redis-store gem published
225
+ to let people use fixes unavailable on official one yet.\n Be sure to check updates
226
+ from official redis-store gem sometimes in case the fixes here are merged there.\n
227
+ \ "
228
+ rdoc_options: []
229
+ require_paths:
230
+ - lib
231
+ required_ruby_version: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - ">="
234
+ - !ruby/object:Gem::Version
235
+ version: '0'
236
+ required_rubygems_version: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - ">="
239
+ - !ruby/object:Gem::Version
240
+ version: '0'
241
+ requirements: []
242
+ rubygems_version: 3.4.9
243
+ signing_key:
244
+ specification_version: 4
245
+ summary: Redis stores for Ruby frameworks
246
+ test_files: []