rediska 1.0.2 → 1.1.0

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.
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: