mock_redis 0.37.0 → 0.39.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
2
  SHA256:
3
- metadata.gz: 1d7bda05082845039ee8e7aa688238c8006fb6754b5198e325e92723f4ec63bd
4
- data.tar.gz: 430cd98257705509362934dc755f9e88820ebb1e7d39dee2a056ffd28c120d4d
3
+ metadata.gz: 1bde9e67059fbd1ecb0b9829a818e3701b7039b05400d56eaed3907d95b176ec
4
+ data.tar.gz: e9356113ad39af666513971d14104d71f3d4f2c2212c825f0434a60facfe14f1
5
5
  SHA512:
6
- metadata.gz: cff49225d6412aababaaad3cca42394764168862cc1c6d2b434fb83b5889582f0a74698b696e244036b695b318da0ea444cda16abe6e1ca73bfe9e2e3ab05ed9
7
- data.tar.gz: 32cbd749e2180f56c1e779aedc726114c2aa242fe6d87e95a75f98d85b51814befea89c27f6cf6d7a1d306cb526236b9bf186b0aa1c541c4621969103c485691
6
+ metadata.gz: a3958eeccca347bfb226aca7f71902540f8655713b6636358a05f85a13442567fc04d47317ddc7e9782dea302b874863ec9c53bbfa80a7dcf53278c5f9f06a1e
7
+ data.tar.gz: caedf2db2054f4747e8019b0f59ed7d835def2aa7cb0a5e06ee0606149174f70dd8833d0a786b3bcd7b39ea0173e2516d4b7f4ae0d63bcfa6cd5ae957d6e677d
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # MockRedis Changelog
2
2
 
3
+ ### 0.39.0
4
+
5
+ * Add support for calling `call` in `pipelined` block
6
+ * Fix `sadd` to stringify array
7
+
8
+ ### 0.38.0
9
+
10
+ * Fix detection of stream key types
11
+ * Add support for `EXAT` AND `PXAT` arguments to `SET` command
12
+
3
13
  ### 0.37.0
4
14
 
5
15
  * Require Ruby 2.7 or newer, since Ruby 2.6 and older are EOL
@@ -43,6 +43,10 @@ class MockRedis
43
43
 
44
44
  # Redis commands go below this line and above 'private'
45
45
 
46
+ def call(command, &_block)
47
+ public_send(*command)
48
+ end
49
+
46
50
  def auth(_)
47
51
  'OK'
48
52
  end
@@ -267,6 +271,8 @@ class MockRedis
267
271
  'set'
268
272
  elsif zsety?(key)
269
273
  'zset'
274
+ elsif streamy?(key)
275
+ 'stream'
270
276
  else
271
277
  raise ArgumentError, "Not sure how #{data[key].inspect} got in here"
272
278
  end
@@ -8,7 +8,7 @@ class MockRedis
8
8
 
9
9
  def sadd(key, members)
10
10
  members_class = members.class
11
- members = [members].flatten.map(&:to_s)
11
+ members = Array(members).map(&:to_s)
12
12
  assert_has_args(members, 'sadd')
13
13
 
14
14
  with_set_at(key) do |s|
@@ -210,9 +210,10 @@ class MockRedis
210
210
  msetnx(*hash.to_a.flatten)
211
211
  end
212
212
 
213
- # Parameer list required to ensure the ArgumentError is returned correctly
213
+ # Parameter list required to ensure the ArgumentError is returned correctly
214
214
  # rubocop:disable Metrics/ParameterLists
215
- def set(key, value, ex: nil, px: nil, nx: nil, xx: nil, keepttl: nil, get: nil)
215
+ def set(key, value, ex: nil, px: nil, exat: nil, pxat: nil, nx: nil, xx: nil, keepttl: nil,
216
+ get: nil)
216
217
  key = key.to_s
217
218
  retval = self.get(key) if get
218
219
 
@@ -248,6 +249,20 @@ class MockRedis
248
249
  pexpire(key, px)
249
250
  end
250
251
 
252
+ if exat
253
+ if exat == 0
254
+ raise Redis::CommandError, 'ERR invalid expire time in set'
255
+ end
256
+ expireat(key, exat)
257
+ end
258
+
259
+ if pxat
260
+ if pxat == 0
261
+ raise Redis::CommandError, 'ERR invalid expire time in set'
262
+ end
263
+ pexpireat(key, pxat)
264
+ end
265
+
251
266
  if get
252
267
  retval
253
268
  else
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Defines the gem version.
4
4
  class MockRedis
5
- VERSION = '0.37.0'
5
+ VERSION = '0.39.0'
6
6
  end
data/lib/mock_redis.rb CHANGED
@@ -49,10 +49,6 @@ class MockRedis
49
49
  end
50
50
  alias location id
51
51
 
52
- def call(command, &_block)
53
- send(*command)
54
- end
55
-
56
52
  def host
57
53
  options[:host]
58
54
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mock_redis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.37.0
4
+ version: 0.39.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane da Silva
8
8
  - Samuel Merritt
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-08-08 00:00:00.000000000 Z
12
+ date: 2023-11-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -123,11 +123,11 @@ licenses:
123
123
  - MIT
124
124
  metadata:
125
125
  bug_tracker_uri: https://github.com/sds/mock_redis/issues
126
- changelog_uri: https://github.com/sds/mock_redis/blob/v0.37.0/CHANGELOG.md
127
- documentation_uri: https://www.rubydoc.info/gems/mock_redis/0.37.0
126
+ changelog_uri: https://github.com/sds/mock_redis/blob/v0.39.0/CHANGELOG.md
127
+ documentation_uri: https://www.rubydoc.info/gems/mock_redis/0.39.0
128
128
  homepage_uri: https://github.com/sds/mock_redis
129
- source_code_uri: https://github.com/sds/mock_redis/tree/v0.37.0
130
- post_install_message:
129
+ source_code_uri: https://github.com/sds/mock_redis/tree/v0.39.0
130
+ post_install_message:
131
131
  rdoc_options: []
132
132
  require_paths:
133
133
  - lib
@@ -142,8 +142,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
142
  - !ruby/object:Gem::Version
143
143
  version: '0'
144
144
  requirements: []
145
- rubygems_version: 3.0.3.1
146
- signing_key:
145
+ rubygems_version: 3.1.6
146
+ signing_key:
147
147
  specification_version: 4
148
148
  summary: Redis mock that just lives in memory; useful for testing.
149
149
  test_files: []