redis_session 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ab9b19745b1be232115845bae3b81d42cdb5ad18
4
- data.tar.gz: 8ae838ebc8c4d3b22310afcfd9572c2e49f4f003
3
+ metadata.gz: 7bc6ac0ea28ab8a6cdceaa73218b343fa95a100b
4
+ data.tar.gz: 562b87aca2b9f48e3206e2cf7a8a1b980906851f
5
5
  SHA512:
6
- metadata.gz: 690dde2c0244cba85323ab1ff12372bd4a20199c12623dcd2a06d03f98e26d26b312671d40b60ba5a407d358a2e540f0c8eb906d905c613c04d7a086a20cf421
7
- data.tar.gz: ca4f9fb4cab1b36d868a0f8991ed9ba3f8624f0bd5e29657852413110b58eb73812d73786bb5081385f84b810871f49029608604e190c62be9c5f14be8c124e6
6
+ metadata.gz: 4d36e9966929c830ceac87c0282eaa08cc90e44d48c6813bcdcd45959046110dfa6eccffd7a43f26b014edff6f3164461240c874ff186f96f8fb9b82aa873f1d
7
+ data.tar.gz: 8658e2b61cbc3684e5113a86443bd44921d94ef0774b92482bc464575e4bab4661c755bd568da0ce7a841a6fdf4940b2f1a814447d6190b68b5a546f25ea0ae6
data/README.md CHANGED
@@ -22,6 +22,7 @@ request.
22
22
  * Checking if key has a value
23
23
  * Removing keys
24
24
  * Changing the prefix using the prefix= method
25
+ * find key and value based on custom lookup
25
26
 
26
27
  ### Documentation
27
28
 
@@ -57,6 +58,12 @@ Example:
57
58
  # it's alias to remove
58
59
 
59
60
  puts 'still here' if session.key? 'key' # do we have the key ?
61
+ ret = session.scan_by do |x|
62
+ next unless x.kind_of? Hash
63
+ next unless x.key? :click
64
+
65
+ x[:click] == true
66
+ end
60
67
 
61
68
  LICENSE
62
69
  -------
data/lib/redis_session.rb CHANGED
@@ -132,7 +132,9 @@ module Session
132
132
  @redis.set(a_key, a_data)
133
133
  end
134
134
  true
135
- rescue
135
+ rescue BaseConnectionError
136
+ raise
137
+ rescue Exception
136
138
  false
137
139
  end
138
140
 
@@ -150,7 +152,9 @@ module Session
150
152
  a_key = make_key(key)
151
153
  data = @redis.get(a_key)
152
154
  data.nil? ? default : Marshal.load(data)
153
- rescue
155
+ rescue BaseConnectionError
156
+ raise
157
+ rescue Exception
154
158
  default
155
159
  end
156
160
 
@@ -167,7 +171,9 @@ module Session
167
171
  def expire(key, ttl)
168
172
  a_key = make_key(key)
169
173
  @redis.expire(a_key, ttl)
170
- rescue
174
+ rescue BaseConnectionError
175
+ raise
176
+ rescue Exception
171
177
  false
172
178
  end
173
179
 
@@ -183,7 +189,10 @@ module Session
183
189
  def ttl(key)
184
190
  a_key = make_key(key)
185
191
  @redis.ttl(a_key)
186
- rescue
192
+
193
+ rescue BaseConnectionError
194
+ raise
195
+ rescue Exception
187
196
  -1
188
197
  end
189
198
 
@@ -199,7 +208,10 @@ module Session
199
208
  def remove(key)
200
209
  a_key = make_key(key)
201
210
  @redis.del(a_key)
202
- rescue
211
+
212
+ rescue BaseConnectionError
213
+ raise
214
+ rescue Exception
203
215
  false
204
216
  end
205
217
 
@@ -215,7 +227,10 @@ module Session
215
227
  def key?(key)
216
228
  a_key = make_key(key)
217
229
  @redis.exists a_key
218
- rescue
230
+
231
+ rescue BaseConnectionError
232
+ raise
233
+ rescue Exception
219
234
  false
220
235
  end
221
236
 
@@ -231,7 +246,10 @@ module Session
231
246
  def value?(key)
232
247
  a_key = make_key(key)
233
248
  @redis.get(a_key) != nil
234
- rescue
249
+
250
+ rescue BaseConnectionError
251
+ raise
252
+ rescue Exception
235
253
  false
236
254
  end
237
255
 
@@ -249,8 +267,19 @@ module Session
249
267
  ##
250
268
  #
251
269
  # scan for partial value in redis
252
- # a value
270
+ # Using a block you can create your own criteria for lookup:
271
+ #
272
+ # Example:
273
+ # let's say there is a key named "foo", and the value is a hash: {:click=>true, :reading=>0}
274
+ #
275
+ # ret = session.scan_by do |x|
276
+ # next unless x.kind_of? Hash
277
+ # next unless x.key? :click
278
+ #
279
+ # x[:click] == true
280
+ # end
253
281
  #
282
+ # => {"foo"=>{:click=>true, :reading=>0}}
254
283
  #
255
284
  # If found return a hash of key => value
256
285
  # If not found, return nil
@@ -272,8 +301,10 @@ module Session
272
301
 
273
302
  { key => value }
274
303
 
275
- rescue Exception => e
276
- puts "exception: #{e}\n#{e.backtrace.join("\n")}"
304
+ rescue BaseConnectionError
305
+ raise
306
+ rescue Exception #=> e
307
+ # puts "exception: #{e}\n#{e.backtrace.join("\n")}"
277
308
  nil
278
309
  end
279
310
 
@@ -1,4 +1,4 @@
1
1
  module Session
2
2
 
3
- VERSION = '0.1.7'
3
+ VERSION = '0.1.8'
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis_session
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ido Kanner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-18 00:00:00.000000000 Z
11
+ date: 2016-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis