rediska 1.0.2 → 1.1.0

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
- SHA1:
3
- metadata.gz: 42912927e01fc9f997529b763f267bfd3b38b54f
4
- data.tar.gz: a1a484bc665c5b6464bfbde5731f2c3d120d8528
2
+ SHA256:
3
+ metadata.gz: '09a30ec9909bf8d0e289b62a48184649e43a5053e4d38049efc1514fc496d29f'
4
+ data.tar.gz: 211591dea5dc948d4bcb0fece84b33bb6899fe980b87b061daa6bcb44b8d8354
5
5
  SHA512:
6
- metadata.gz: f97da1ce65e96864840900755ffd52b3f3f129c1e99bb162bc6d769272168249f211ac4ae32a4e9656e554ec15e30c0a58a8a8c321792f70793d407acc8cab8a
7
- data.tar.gz: a29ad9857dd640e4e17b32cc375f397a1abeafb83f460cadc2d94c3a1aeb10128ff9e65993f22155a43bc0e9340e763f755647cb3b45515ffeffc2e8c7d0b2fd
6
+ metadata.gz: 3d0ee50c993ca33227397ad369ce542555422ff9d589e09d3944dd2cc03fb093bc6799c7c139e987b52fc30ae34e986aa743259d4791688bee60763a351c9c2e
7
+ data.tar.gz: a29a26ffa641cbd11c8cd0569206f1e1547c569a1a365ec7bd8c4bf443afaf5345bbe55917ae7531d5a4d4947bd8b00bf9194dd43990ba59e0df35a7b3e8cad6
data/.travis.yml CHANGED
@@ -2,12 +2,9 @@ language: ruby
2
2
  before_install:
3
3
  - travis_retry gem install bundler
4
4
  rvm:
5
- - 2.0.0
6
- - 2.1.2
7
- - 2.2.0
5
+ - 2.2.2
8
6
  - ruby-head
9
7
  - jruby
10
- - rbx-2
11
8
  gemfile:
12
9
  - Gemfile
13
10
  services:
data/README.md CHANGED
@@ -172,7 +172,6 @@ end
172
172
  * ZADD
173
173
  * ZCARD
174
174
  * ZCOUNT
175
- * ZINCRBY
176
175
  * ZINTERSTORE
177
176
  * ZUNIONSTORE
178
177
  * ZRANK
@@ -184,7 +183,6 @@ end
184
183
  * ZREVRANGEBYSCORE
185
184
  * ZREVRANK
186
185
  * ZSCAN
187
- * ZSCORE
188
186
 
189
187
  ## Credits and Contributors
190
188
 
@@ -53,7 +53,7 @@ module Rediska
53
53
  'OK'
54
54
  end
55
55
 
56
- def auth(password)
56
+ def auth(*args)
57
57
  'OK'
58
58
  end
59
59
 
@@ -961,26 +961,12 @@ module Rediska
961
961
  data[key] ? data[key].size : 0
962
962
  end
963
963
 
964
- def zscore(key, value)
965
- data_type_check(key, ZSet)
966
- value = data[key] && data[key][value.to_s]
967
- value && value.to_s
968
- end
969
-
970
964
  def zcount(key, min, max)
971
965
  data_type_check(key, ZSet)
972
966
  return 0 unless data[key]
973
967
  data[key].select_by_score(min, max).size
974
968
  end
975
969
 
976
- def zincrby(key, num, value)
977
- data_type_check(key, ZSet)
978
- data[key] ||= ZSet.new
979
- data[key][value.to_s] ||= 0
980
- data[key].increment(value.to_s, num)
981
- data[key][value.to_s].to_s
982
- end
983
-
984
970
  def zrank(key, value)
985
971
  data_type_check(key, ZSet)
986
972
  z = data[key]
@@ -1,3 +1,3 @@
1
1
  module Rediska
2
- VERSION = '1.0.2'.freeze
2
+ VERSION = '1.1.0'.freeze
3
3
  end
@@ -9,7 +9,7 @@ shared_examples_for 'a bitwise operation' do |operator|
9
9
 
10
10
  it 'should not create destination key if nothing found' do
11
11
  expect(subject.bitop(operator, 'dest1', 'nothing_here1')).to eq(0)
12
- expect(subject.exists('dest1')).to be_falsy
12
+ expect(subject.exists('dest1')).to eq(0)
13
13
  end
14
14
 
15
15
  it 'should accept operator as a case-insensitive symbol' do
@@ -25,7 +25,7 @@ shared_examples 'hashes' do
25
25
  expect(subject.hdel('key1', 'k1')).to eq(1)
26
26
  expect(subject.hdel('key1', 'k2')).to eq(1)
27
27
 
28
- expect(subject.exists('key1')).to be_falsey
28
+ expect(subject.exists('key1')).to eq(0)
29
29
  end
30
30
 
31
31
  it 'should convert key to a string for hset' do
@@ -122,7 +122,7 @@ shared_examples 'hashes' do
122
122
  subject.hmset('key')
123
123
  }.to raise_error(Redis::CommandError)
124
124
 
125
- expect(subject.exists('key')).to be_falsey
125
+ expect(subject.exists('key')).to eq(0)
126
126
  end
127
127
 
128
128
  it 'rejects an insert with a key but no value' do
@@ -134,7 +134,7 @@ shared_examples 'hashes' do
134
134
  subject.hmset('key', 'foo', 3, 'bar')
135
135
  }.to raise_error(Redis::CommandError)
136
136
 
137
- expect(subject.exists('key')).to be_falsey
137
+ expect(subject.exists('key')).to eq(0)
138
138
  end
139
139
 
140
140
  it 'should reject the wrong number of arguments' do
@@ -159,7 +159,7 @@ shared_examples 'hashes' do
159
159
 
160
160
  it 'should set the string value of a hash field' do
161
161
  expect(subject.hset('key1', 'k1', 'val1')).to be_truthy
162
- expect(subject.hset('key1', 'k1', 'val1')).to be_falsey
162
+ expect(subject.hset('key1', 'k1', 'val1')).to eq(0)
163
163
 
164
164
  expect(subject.hget('key1', 'k1')).to eq('val1')
165
165
  end
data/spec/support/keys.rb CHANGED
@@ -16,24 +16,14 @@ shared_examples 'keys' do
16
16
  expect(subject.get('key2')).to be_nil
17
17
  end
18
18
 
19
- it 'should error deleting no keys' do
20
- expect {
21
- subject.del
22
- }.to raise_error(Redis::CommandError)
23
-
24
- expect {
25
- subject.del []
26
- }.to raise_error(Redis::CommandError)
19
+ it "should return true when setnx keys that don't exist" do
20
+ expect(subject.setnx('key1', '1')).to be_truthy
27
21
  end
28
22
 
29
- it "should return true when setnx keys that don't exist" do
30
- expect(subject.setnx('key1', '1')).to be_truthy
31
- end
32
-
33
- it 'should return false when setnx keys exist' do
34
- subject.set('key1', '1')
35
- expect(subject.setnx('key1', '1')).to be_falsey
36
- end
23
+ it 'should return false when setnx keys exist' do
24
+ subject.set('key1', '1')
25
+ expect(subject.setnx('key1', '1')).to be_falsey
26
+ end
37
27
 
38
28
  it 'should return true when setting expires on keys that exist' do
39
29
  subject.set('key1', '1')
@@ -58,7 +48,7 @@ shared_examples 'keys' do
58
48
  subject.set('key1', '1')
59
49
 
60
50
  expect(subject.exists('key1')).to be_truthy
61
- expect(subject.exists('key2')).to be_falsey
51
+ expect(subject.exists('key2')).to eq(0)
62
52
  end
63
53
 
64
54
  it "should set a key's time to live in seconds" do
@@ -123,7 +113,7 @@ shared_examples 'keys' do
123
113
  subject.set('key1', '1')
124
114
  subject.expireat('key1', Time.now.to_i)
125
115
 
126
- expect(subject.exists('key1')).to be_falsey
116
+ expect(subject.exists('key1')).to eq(0)
127
117
  end
128
118
 
129
119
  it 'should find all keys matching the given pattern' do
@@ -387,13 +377,13 @@ shared_examples 'keys' do
387
377
 
388
378
  it 'uses nx option to only set the key if it does not already exist' do
389
379
  expect(subject.set('key1', '1', nx: true)).to be_truthy
390
- expect(subject.set('key1', '2', nx: true)).to be_falsey
380
+ expect(subject.set('key1', '2', nx: true)).to eq(0)
391
381
 
392
382
  expect(subject.get('key1')).to eq('1')
393
383
  end
394
384
 
395
385
  it 'uses xx option to only set the key if it already exists' do
396
- expect(subject.set('key2', '1', xx: true)).to be_falsey
386
+ expect(subject.set('key2', '1', xx: true)).to eq(0)
397
387
  subject.set('key2', '2')
398
388
  expect(subject.set('key2', '1', xx: true)).to be_truthy
399
389
 
@@ -401,13 +391,13 @@ shared_examples 'keys' do
401
391
  end
402
392
 
403
393
  it 'does not set the key if both xx and nx option are specified' do
404
- expect(subject.set('key2', '1', nx: true, xx: true)).to be_falsey
394
+ expect(subject.set('key2', '1', nx: true, xx: true)).to eq(0)
405
395
  expect(subject.get('key2')).to be_nil
406
396
  end
407
397
 
408
398
  describe '#dump' do
409
399
  it 'returns nil for unknown key' do
410
- expect(subject.exists('key1')).to be_falsey
400
+ expect(subject.exists('key1')).to eq(0)
411
401
  expect(subject.dump('key1')).to be_nil
412
402
  end
413
403
 
@@ -445,7 +435,7 @@ shared_examples 'keys' do
445
435
  @dumped_value = subject.dump('key1')
446
436
 
447
437
  subject.del('key1')
448
- expect(subject.exists('key1')).to be_falsey
438
+ expect(subject.exists('key1')).to eq(0)
449
439
  end
450
440
 
451
441
  it 'restores to a new key successfully' do
@@ -90,7 +90,7 @@ shared_examples 'lists' do
90
90
  end
91
91
 
92
92
  it 'should return 0 if key does not map to a list' do
93
- expect(subject.exists('nonexistant')).to eq(false)
93
+ expect(subject.exists('nonexistant')).to eq(0)
94
94
  expect(subject.lrem('nonexistant', 0, 'value')).to eq(0)
95
95
  end
96
96
 
@@ -100,7 +100,7 @@ shared_examples 'lists' do
100
100
  subject.lrem('key1', 1, 'v1')
101
101
  subject.lrem('key1', 1, 'v2')
102
102
 
103
- expect(subject.exists('key1')).to be_falsey
103
+ expect(subject.exists('key1')).to eq(0)
104
104
  end
105
105
 
106
106
  it 'should set the value of an element in a list by its index' do
@@ -40,12 +40,12 @@ shared_examples 'server' do
40
40
  subject.select(0)
41
41
  expect(subject.dbsize).to eq(2)
42
42
  expect(subject.exists('key1')).to be_truthy
43
- expect(subject.exists('key3')).to be_falsey
43
+ expect(subject.exists('key3')).to eq(0)
44
44
 
45
45
  subject.select(1)
46
46
  expect(subject.dbsize).to eq(3)
47
47
  expect(subject.exists('key4')).to be_truthy
48
- expect(subject.exists('key2')).to be_falsey
48
+ expect(subject.exists('key2')).to eq(0)
49
49
 
50
50
  subject.flushall
51
51
  expect(subject.dbsize).to eq(0)
data/spec/support/sets.rb CHANGED
@@ -157,7 +157,7 @@ shared_examples 'sets' do
157
157
  subject.srem('key1', 'b')
158
158
  subject.srem('key1', 'a')
159
159
 
160
- expect(subject.exists('key1')).to be_falsey
160
+ expect(subject.exists('key1')).to eq(0)
161
161
  end
162
162
 
163
163
  it 'should add multiple sets' do
@@ -1,47 +1,4 @@
1
1
  shared_examples 'sorted sets' do
2
- let(:infinity) { 1.0 / 0.0 }
3
-
4
- it 'should add a member to a sorted set, or update its score if it already exists' do
5
- expect(subject.zadd('key', 1, 'val')).to be_truthy
6
- expect(subject.zscore('key', 'val')).to eq(1.0)
7
-
8
- expect(subject.zadd('key', 2, 'val')).to be_falsey
9
- expect(subject.zscore('key', 'val')).to eq(2.0)
10
-
11
- expect(subject.zadd('key2', 'inf', 'val')).to be_truthy
12
- expect(subject.zscore('key2', 'val')).to eq(infinity)
13
-
14
- expect(subject.zadd('key3', '+inf', 'val')).to be_truthy
15
- expect(subject.zscore('key3', 'val')).to eq(infinity)
16
-
17
- expect(subject.zadd('key4', '-inf', 'val')).to be_truthy
18
- expect(subject.zscore('key4', 'val')).to eq(-infinity)
19
- end
20
-
21
- it 'should return a nil score for value not in a sorted set or empty key' do
22
- subject.zadd('key', 1, 'val')
23
-
24
- expect(subject.zscore('key', 'val')).to eq(1.0)
25
- expect(subject.zscore('key', 'val2')).to be_nil
26
- expect(subject.zscore('key2', 'val')).to be_nil
27
- end
28
-
29
- it 'should add multiple members to a sorted set, or update its score if it already exists' do
30
- expect(subject.zadd('key', [1, 'val', 2, 'val2'])).to eq(2)
31
- expect(subject.zscore('key', 'val')).to eq(1)
32
- expect(subject.zscore('key', 'val2')).to eq(2)
33
-
34
- expect(subject.zadd('key', [[5, 'val'], [3, 'val3'], [4, 'val4']])).to eq(2)
35
- expect(subject.zscore('key', 'val')).to eq(5)
36
- expect(subject.zscore('key', 'val2')).to eq(2)
37
- expect(subject.zscore('key', 'val3')).to eq(3)
38
- expect(subject.zscore('key', 'val4')).to eq(4)
39
-
40
- expect(subject.zadd('key', [[5, 'val5'], [3, 'val6']])).to eq(2)
41
- expect(subject.zscore('key', 'val5')).to eq(5)
42
- expect(subject.zscore('key', 'val6')).to eq(3)
43
- end
44
-
45
2
  it 'should error with wrong number of arguments when adding members' do
46
3
  expect {
47
4
  subject.zadd('key')
@@ -64,14 +21,6 @@ shared_examples 'sorted sets' do
64
21
  }.to raise_error(Redis::CommandError)
65
22
  end
66
23
 
67
- it 'should allow floats as scores when adding or updating' do
68
- expect(subject.zadd('key', 4.321, 'val')).to be_truthy
69
- expect(subject.zscore('key', 'val')).to eq(4.321)
70
-
71
- expect(subject.zadd('key', 54.3210, 'val')).to be_falsey
72
- expect(subject.zscore('key', 'val')).to eq(54.321)
73
- end
74
-
75
24
  it 'should remove members from sorted sets' do
76
25
  expect(subject.zrem('key', 'val')).to be_falsey
77
26
  expect(subject.zadd('key', 1, 'val')).to be_truthy
@@ -92,7 +41,7 @@ shared_examples 'sorted sets' do
92
41
  it "should remove sorted set's key when it is empty" do
93
42
  subject.zadd('key', 1, 'val')
94
43
  subject.zrem('key', 'val')
95
- expect(subject.exists('key')).to be_falsey
44
+ expect(subject.exists('key')).to eq(0)
96
45
  end
97
46
 
98
47
  it 'should get the number of members in a sorted set' do
@@ -111,26 +60,6 @@ shared_examples 'sorted sets' do
111
60
  expect(subject.zcount('key', 2, 3)).to eq(2)
112
61
  end
113
62
 
114
- it 'should increment the score of a member in a sorted set' do
115
- subject.zadd('key', 1, 'val1')
116
- expect(subject.zincrby('key', 2, 'val1')).to eq(3)
117
- expect(subject.zscore('key', 'val1')).to eq(3)
118
- end
119
-
120
- it 'initializes the sorted set if the key wasnt already set' do
121
- expect(subject.zincrby('key', 1, 'val1')).to eq(1)
122
- end
123
-
124
- it 'should convert the key to a string for zscore' do
125
- subject.zadd('key', 1, 1)
126
- expect(subject.zscore('key', 1)).to eq(1)
127
- end
128
-
129
- it 'should handle infinity values when incrementing a sorted set key' do
130
- expect(subject.zincrby('bar', '+inf', 's2')).to eq(infinity)
131
- expect(subject.zincrby('bar', '-inf', 's1')).to eq(-infinity)
132
- end
133
-
134
63
  it 'should return a range of members in a sorted set, by index' do
135
64
  subject.zadd('key', 1, 'one')
136
65
  subject.zadd('key', 2, 'two')
@@ -318,17 +247,6 @@ shared_examples 'sorted sets' do
318
247
  expect(subject.zcard('key')).to eq(1)
319
248
  end
320
249
 
321
- it 'should remove items by score with infinity' do # Issue #50
322
- subject.zadd('key', 10.0, 'one')
323
- subject.zadd('key', 20.0, 'two')
324
- subject.zadd('key', 30.0, 'three')
325
- expect(subject.zremrangebyscore('key', '-inf', '+inf')).to eq(3)
326
- expect(subject.zcard('key')).to eq(0)
327
- expect(subject.zscore('key', 'one')).to be_nil
328
- expect(subject.zscore('key', 'two')).to be_nil
329
- expect(subject.zscore('key', 'three')).to be_nil
330
- end
331
-
332
250
  it 'should return 0 if the key did not exist' do
333
251
  expect(subject.zremrangebyscore('key', 0, 2)).to eq(0)
334
252
  end
@@ -442,12 +360,6 @@ shared_examples 'sorted sets' do
442
360
  end
443
361
  end
444
362
 
445
- it 'zrem should remove members add by zadd' do
446
- subject.zadd('key1', 1, 3)
447
- subject.zrem('key1', 3)
448
- expect(subject.zscore('key1', 3)).to be_nil
449
- end
450
-
451
363
  describe '#zscan' do
452
364
  before do
453
365
  50.times { |x| subject.zadd('key', x, "key #{x}") }
@@ -2,8 +2,4 @@ shared_examples 'upcase method names' do
2
2
  it '#ZCOUNT' do
3
3
  expect(subject.ZCOUNT('key', 2, 3)).to eq(subject.zcount('key', 2, 3))
4
4
  end
5
-
6
- it '#ZSCORE' do
7
- expect(subject.ZSCORE('key', 2)).to eq(subject.zscore('key', 2))
8
- end
9
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rediska
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Leonid Beder
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-08-17 00:00:00.000000000 Z
11
+ date: 2021-12-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -134,7 +134,7 @@ homepage: https://github.com/lbeder/rediska
134
134
  licenses:
135
135
  - MIT
136
136
  metadata: {}
137
- post_install_message:
137
+ post_install_message:
138
138
  rdoc_options: []
139
139
  require_paths:
140
140
  - lib
@@ -149,9 +149,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
149
  - !ruby/object:Gem::Version
150
150
  version: '0'
151
151
  requirements: []
152
- rubyforge_project:
153
- rubygems_version: 2.6.14
154
- signing_key:
152
+ rubygems_version: 3.1.6
153
+ signing_key:
155
154
  specification_version: 4
156
155
  summary: A light-weighted redis driver for testing, development, and minimal environments
157
156
  test_files: