fakeredis 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +10 -7
- data/LICENSE +1 -1
- data/README.md +33 -31
- data/fakeredis.gemspec +1 -1
- data/lib/fakeredis.rb +12 -0
- data/lib/fakeredis/command_executor.rb +6 -3
- data/lib/fakeredis/sorted_set_store.rb +1 -1
- data/lib/fakeredis/transaction_commands.rb +1 -1
- data/lib/fakeredis/version.rb +1 -1
- data/lib/redis/connection/memory.rb +27 -10
- data/spec/command_executor_spec.rb +15 -0
- data/spec/connection_spec.rb +1 -1
- data/spec/fakeredis_spec.rb +21 -0
- data/spec/hashes_spec.rb +4 -0
- data/spec/lists_spec.rb +12 -0
- data/spec/memory_spec.rb +24 -0
- data/spec/sets_spec.rb +16 -0
- data/spec/sorted_sets_spec.rb +16 -0
- data/spec/spec_helper.rb +5 -1
- data/spec/spec_helper_live_redis.rb +4 -4
- data/spec/transactions_spec.rb +1 -1
- metadata +15 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1be2134927d3b7838ee3e2fd4376791bea516561
|
4
|
+
data.tar.gz: 2b3e0c64b79df1358151bbd1405000395fa06e86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cfb37be84fd30d941fadc44a177e2029cd2de063fc090bc3004166a72f5dba6e7378e9c918aa1d156d44b8277f830dfedbd34aad57142770512f420f4f12fae3
|
7
|
+
data.tar.gz: 2f841badb4c16e9ff6d3c35b697b9ee262022bc8286553e7187a47173af742114eacd5cccdb3d0477c111457fc9a7f50fdb7de970a25c04ba1be33318c84a1ac
|
data/.travis.yml
CHANGED
@@ -1,19 +1,22 @@
|
|
1
1
|
language: ruby
|
2
|
-
|
3
|
-
|
2
|
+
cache: bundler
|
3
|
+
# Use the faster container based infrastructure
|
4
|
+
# http://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/
|
5
|
+
sudo: false
|
6
|
+
|
4
7
|
rvm:
|
5
|
-
- 2.1
|
6
8
|
- 2.2
|
7
|
-
- 2.3.
|
9
|
+
- 2.3.6
|
10
|
+
- 2.4
|
11
|
+
- 2.5
|
8
12
|
- ruby-head
|
9
13
|
- jruby
|
10
14
|
- rbx-2
|
15
|
+
|
11
16
|
gemfile:
|
12
17
|
- Gemfile
|
13
18
|
- gemfiles/redisrb-master.gemfile
|
19
|
+
|
14
20
|
matrix:
|
15
21
|
allow_failures:
|
16
22
|
- rvm: rbx-2
|
17
|
-
# Use the faster container based infrastructure
|
18
|
-
# http://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/
|
19
|
-
sudo: false
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -15,8 +15,8 @@ Add it to your Gemfile:
|
|
15
15
|
|
16
16
|
## Versions
|
17
17
|
|
18
|
-
FakeRedis currently supports redis-rb v3
|
19
|
-
redis-rb v2.2
|
18
|
+
FakeRedis currently supports redis-rb v3 or later, if you are using
|
19
|
+
redis-rb v2.2 install the version 0.3.x:
|
20
20
|
|
21
21
|
gem install fakeredis -v "~> 0.3.0"
|
22
22
|
|
@@ -29,61 +29,63 @@ or use the branch 0-3-x on your Gemfile:
|
|
29
29
|
|
30
30
|
You can use FakeRedis without any changes:
|
31
31
|
|
32
|
+
```
|
32
33
|
require "fakeredis"
|
33
|
-
|
34
|
+
|
34
35
|
redis = Redis.new
|
35
|
-
|
36
|
+
|
36
37
|
>> redis.set "foo", "bar"
|
37
38
|
=> "OK"
|
38
|
-
|
39
|
+
|
39
40
|
>> redis.get "foo"
|
40
41
|
=> "bar"
|
42
|
+
```
|
41
43
|
|
42
44
|
Read [redis-rb](https://github.com/redis/redis-rb) documentation and
|
43
45
|
[Redis](http://redis.io) homepage for more info about commands
|
44
46
|
|
45
47
|
## Usage with RSpec
|
46
48
|
|
47
|
-
Require this either in your Gemfile or in RSpec's support scripts. So either:
|
49
|
+
Require this either in your Gemfile or in RSpec's support scripts. So either:
|
48
50
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
51
|
+
```ruby
|
52
|
+
# Gemfile
|
53
|
+
group :test do
|
54
|
+
gem "rspec"
|
55
|
+
gem "fakeredis", :require => "fakeredis/rspec"
|
56
|
+
end
|
57
|
+
```
|
54
58
|
|
55
59
|
Or:
|
56
60
|
|
57
|
-
|
58
|
-
|
61
|
+
```ruby
|
62
|
+
# spec/support/fakeredis.rb
|
63
|
+
require 'fakeredis/rspec'
|
64
|
+
```
|
59
65
|
|
60
66
|
## Usage with Minitest
|
61
67
|
|
62
68
|
Require this either in your Gemfile or in Minitest's support scripts. So
|
63
|
-
either:
|
69
|
+
either:
|
64
70
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
71
|
+
```ruby
|
72
|
+
# Gemfile
|
73
|
+
group :test do
|
74
|
+
gem "minitest"
|
75
|
+
gem "fakeredis", :require => "fakeredis/minitest"
|
76
|
+
end
|
77
|
+
```
|
70
78
|
|
71
79
|
Or:
|
72
80
|
|
73
|
-
|
74
|
-
|
81
|
+
```ruby
|
82
|
+
# test/test_helper.rb (or test/minitest_config.rb)
|
83
|
+
require 'fakeredis/minitest'
|
84
|
+
```
|
75
85
|
|
76
86
|
## Acknowledgements
|
77
87
|
|
78
|
-
|
79
|
-
* [czarneckid](https://github.com/czarneckid)
|
80
|
-
* [obrie](https://github.com/obrie)
|
81
|
-
* [jredville](https://github.com/jredville)
|
82
|
-
* [redsquirrel](https://github.com/redsquirrel)
|
83
|
-
* [dpick](https://github.com/dpick)
|
84
|
-
* [caius](https://github.com/caius)
|
85
|
-
* [Travis-CI](http://travis-ci.org/) (Travis-CI also uses Fakeredis in its tests!!!)
|
86
|
-
|
88
|
+
Thanks to [all contributors](https://github.com/guilleiguaran/fakeredis/graphs/contributors), specially to [Caius Durling](https://github.com/caius) the most active one.
|
87
89
|
|
88
90
|
## Contributing to FakeRedis
|
89
91
|
|
@@ -98,5 +100,5 @@ Or:
|
|
98
100
|
|
99
101
|
## Copyright
|
100
102
|
|
101
|
-
Copyright (c) 2011-
|
103
|
+
Copyright (c) 2011-2018 Guillermo Iguaran. See LICENSE for
|
102
104
|
further details.
|
data/fakeredis.gemspec
CHANGED
@@ -18,6 +18,6 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
s.require_paths = ["lib"]
|
20
20
|
|
21
|
-
s.add_runtime_dependency(%q<redis>, ["
|
21
|
+
s.add_runtime_dependency(%q<redis>, [">= 3.2", "< 5.0"])
|
22
22
|
s.add_development_dependency(%q<rspec>, ["~> 3.0"])
|
23
23
|
end
|
data/lib/fakeredis.rb
CHANGED
@@ -3,4 +3,16 @@ require 'redis/connection/memory'
|
|
3
3
|
|
4
4
|
module FakeRedis
|
5
5
|
Redis = ::Redis
|
6
|
+
|
7
|
+
def self.enable
|
8
|
+
Redis::Connection.drivers << Redis::Connection::Memory unless enabled?
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.enabled?
|
12
|
+
Redis::Connection.drivers.last == Redis::Connection::Memory
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.disable
|
16
|
+
Redis::Connection.drivers.delete_if {|driver| Redis::Connection::Memory == driver }
|
17
|
+
end
|
6
18
|
end
|
@@ -1,13 +1,16 @@
|
|
1
1
|
module FakeRedis
|
2
2
|
module CommandExecutor
|
3
3
|
def write(command)
|
4
|
-
meffod = command.
|
4
|
+
meffod = command[0].to_s.downcase.to_sym
|
5
|
+
args = command[1..-1]
|
5
6
|
|
6
7
|
if in_multi && !(TRANSACTION_COMMANDS.include? meffod) # queue commands
|
7
|
-
queued_commands << [meffod, *
|
8
|
+
queued_commands << [meffod, *args]
|
8
9
|
reply = 'QUEUED'
|
10
|
+
elsif respond_to?(meffod) && method(meffod).arity.zero?
|
11
|
+
reply = send(meffod)
|
9
12
|
elsif respond_to?(meffod)
|
10
|
-
reply = send(meffod, *
|
13
|
+
reply = send(meffod, *args)
|
11
14
|
else
|
12
15
|
raise Redis::CommandError, "ERR unknown command '#{meffod}'"
|
13
16
|
end
|
data/lib/fakeredis/version.rb
CHANGED
@@ -9,6 +9,7 @@ require "fakeredis/sorted_set_store"
|
|
9
9
|
require "fakeredis/transaction_commands"
|
10
10
|
require "fakeredis/zset"
|
11
11
|
require "fakeredis/bitop_command"
|
12
|
+
require "fakeredis/version"
|
12
13
|
|
13
14
|
class Redis
|
14
15
|
module Connection
|
@@ -56,6 +57,7 @@ class Redis
|
|
56
57
|
def database_id
|
57
58
|
@database_id ||= 0
|
58
59
|
end
|
60
|
+
|
59
61
|
attr_writer :database_id
|
60
62
|
|
61
63
|
def database_instance_key
|
@@ -89,6 +91,16 @@ class Redis
|
|
89
91
|
def disconnect
|
90
92
|
end
|
91
93
|
|
94
|
+
def client(command, _options = {})
|
95
|
+
case command
|
96
|
+
when :setname then true
|
97
|
+
when :getname then nil
|
98
|
+
when :client then true
|
99
|
+
else
|
100
|
+
raise Redis::CommandError, "ERR unknown command '#{command}'"
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
92
104
|
def timeout=(usecs)
|
93
105
|
end
|
94
106
|
|
@@ -386,9 +398,9 @@ class Redis
|
|
386
398
|
index = data[key].index(pivot.to_s)
|
387
399
|
return -1 if index.nil?
|
388
400
|
|
389
|
-
case where
|
390
|
-
when
|
391
|
-
when
|
401
|
+
case where.to_s
|
402
|
+
when /\Abefore\z/i then data[key].insert(index, value)
|
403
|
+
when /\Aafter\z/i then data[key].insert(index + 1, value)
|
392
404
|
else raise_syntax_error
|
393
405
|
end
|
394
406
|
end
|
@@ -559,11 +571,14 @@ class Redis
|
|
559
571
|
result
|
560
572
|
end
|
561
573
|
|
562
|
-
def spop(key)
|
574
|
+
def spop(key, count = nil)
|
563
575
|
data_type_check(key, ::Set)
|
564
|
-
|
565
|
-
|
566
|
-
|
576
|
+
results = (count || 1).times.map do
|
577
|
+
elem = srandmember(key)
|
578
|
+
srem(key, elem)
|
579
|
+
elem
|
580
|
+
end.compact
|
581
|
+
count.nil? ? results.first : results
|
567
582
|
end
|
568
583
|
|
569
584
|
def scard(key)
|
@@ -779,6 +794,7 @@ class Redis
|
|
779
794
|
data[key][field[0].to_s] = field[1].to_s
|
780
795
|
end
|
781
796
|
end
|
797
|
+
"OK"
|
782
798
|
end
|
783
799
|
|
784
800
|
def hmget(key, *fields)
|
@@ -967,7 +983,7 @@ class Redis
|
|
967
983
|
end
|
968
984
|
|
969
985
|
start_cursor = start_cursor.to_i
|
970
|
-
data_type_check(start_cursor,
|
986
|
+
data_type_check(start_cursor, Integer)
|
971
987
|
|
972
988
|
cursor = start_cursor
|
973
989
|
returned_keys = []
|
@@ -1077,7 +1093,7 @@ class Redis
|
|
1077
1093
|
results = sort_keys(data[key])
|
1078
1094
|
# Select just the keys unless we want scores
|
1079
1095
|
results = results.map(&:first) unless with_scores
|
1080
|
-
results[start..stop].flatten.map(&:to_s)
|
1096
|
+
(results[start..stop] || []).flatten.map(&:to_s)
|
1081
1097
|
end
|
1082
1098
|
|
1083
1099
|
def zrangebylex(key, start, stop, *opts)
|
@@ -1286,7 +1302,7 @@ class Redis
|
|
1286
1302
|
end
|
1287
1303
|
|
1288
1304
|
start_cursor = start_cursor.to_i
|
1289
|
-
data_type_check(start_cursor,
|
1305
|
+
data_type_check(start_cursor, Integer)
|
1290
1306
|
|
1291
1307
|
cursor = start_cursor
|
1292
1308
|
next_keys = []
|
@@ -1417,4 +1433,5 @@ class Redis
|
|
1417
1433
|
end
|
1418
1434
|
end
|
1419
1435
|
|
1436
|
+
# FIXME this line should be deleted as explicit enabling is better
|
1420
1437
|
Redis::Connection.drivers << Redis::Connection::Memory
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe FakeRedis::CommandExecutor do
|
4
|
+
|
5
|
+
let(:redis) { Redis.new }
|
6
|
+
|
7
|
+
context '#write' do
|
8
|
+
it 'does not modify its argument' do
|
9
|
+
command = [:get, 'key']
|
10
|
+
redis.write(command)
|
11
|
+
expect(command).to eql([:get, 'key'])
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
data/spec/connection_spec.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe FakeRedis do
|
4
|
+
after { described_class.disable }
|
5
|
+
|
6
|
+
describe '.enable' do
|
7
|
+
it 'in memory connection' do
|
8
|
+
described_class.enable
|
9
|
+
expect(described_class.enabled?).to be_truthy
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe '.disable' do
|
14
|
+
before { described_class.enable }
|
15
|
+
|
16
|
+
it 'in memory connection' do
|
17
|
+
described_class.disable
|
18
|
+
expect(described_class.enabled?).to be_falsy
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/spec/hashes_spec.rb
CHANGED
@@ -137,6 +137,10 @@ module FakeRedis
|
|
137
137
|
expect { @client.hmset("hash", "foo1", "bar1", "foo2", "bar2", "foo3") }.to raise_error(Redis::CommandError, "ERR wrong number of arguments for HMSET")
|
138
138
|
end
|
139
139
|
|
140
|
+
it "should return OK on success" do
|
141
|
+
expect(@client.hmset("key", "k1", "value1")).to eq("OK")
|
142
|
+
end
|
143
|
+
|
140
144
|
it "should set multiple hash fields to multiple values" do
|
141
145
|
@client.hmset("key", "k1", "value1", "k2", "value2")
|
142
146
|
|
data/spec/lists_spec.rb
CHANGED
@@ -25,6 +25,18 @@ module FakeRedis
|
|
25
25
|
expect(@client.lrange("key1", 0, -1)).to eq(["v1", "v2", "v3", "99", "100"])
|
26
26
|
end
|
27
27
|
|
28
|
+
it "inserts with case-insensitive position token" do
|
29
|
+
@client.rpush("key1", "v1")
|
30
|
+
@client.rpush("key1", "v4")
|
31
|
+
|
32
|
+
@client.linsert("key1", :BEFORE, "v4", "v2")
|
33
|
+
@client.linsert("key1", "Before", "v4", "v3")
|
34
|
+
@client.linsert("key1", :AFTER, "v4", "v5")
|
35
|
+
@client.linsert("key1", "After", "v5", "v6")
|
36
|
+
|
37
|
+
expect(@client.lrange("key1", 0, -1)).to eq(%w(v1 v2 v3 v4 v5 v6))
|
38
|
+
end
|
39
|
+
|
28
40
|
it "should not insert if after/before index not found" do
|
29
41
|
@client.rpush("key", "v1")
|
30
42
|
expect(@client.linsert("key", :before, "unknown", "v2")).to eq(-1)
|
data/spec/memory_spec.rb
CHANGED
@@ -9,6 +9,12 @@ RSpec.describe FakeRedis do
|
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
+
describe '#write' do
|
13
|
+
it 'should not send unexpected arguments' do
|
14
|
+
expect { redis.write(['info', 'server']) }.not_to raise_error
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
12
18
|
describe '#scan' do
|
13
19
|
def result
|
14
20
|
returned_keys = []
|
@@ -78,4 +84,22 @@ RSpec.describe FakeRedis do
|
|
78
84
|
end
|
79
85
|
end
|
80
86
|
end
|
87
|
+
|
88
|
+
describe '#client' do
|
89
|
+
it 'returns 1 when command is :setname' do
|
90
|
+
expect(redis.write([:client, :setname])).to eq 1
|
91
|
+
end
|
92
|
+
|
93
|
+
it 'returns nil when command is :getname' do
|
94
|
+
expect(redis.write([:client, :getname])).to eq nil
|
95
|
+
end
|
96
|
+
|
97
|
+
it 'returns true when the comment is :client with an argument' do
|
98
|
+
expect(redis.write([:client, :client, :list])).to eq 1
|
99
|
+
end
|
100
|
+
|
101
|
+
it 'raises error for other commands' do
|
102
|
+
expect { redis.write([:client, :wrong]) }.to raise_error(Redis::CommandError, "ERR unknown command 'wrong'")
|
103
|
+
end
|
104
|
+
end
|
81
105
|
end
|
data/spec/sets_spec.rb
CHANGED
@@ -148,6 +148,22 @@ module FakeRedis
|
|
148
148
|
expect(["a", "b"].include?(@client.spop("key1"))).to be true
|
149
149
|
end
|
150
150
|
|
151
|
+
it "should pop multiple members from a set" do
|
152
|
+
@client.sadd("key1", "a")
|
153
|
+
@client.sadd("key1", "b")
|
154
|
+
@client.sadd("key1", "c")
|
155
|
+
|
156
|
+
vals = @client.spop("key1", 2)
|
157
|
+
expect(vals.count).to eq(2)
|
158
|
+
vals.each { |v| expect(["a", "b", "c"].include?(v)).to be true }
|
159
|
+
|
160
|
+
new_vals = @client.spop("key1", 2)
|
161
|
+
expect(new_vals.count).to eq(1)
|
162
|
+
expect(["a", "b", "c"].include?(new_vals.first)).to be true
|
163
|
+
|
164
|
+
expect(["a", "b", "c"]).to eq((vals + new_vals).sort)
|
165
|
+
end
|
166
|
+
|
151
167
|
it "should remove a member from a set" do
|
152
168
|
@client.sadd("key1", "a")
|
153
169
|
@client.sadd("key1", "b")
|
data/spec/sorted_sets_spec.rb
CHANGED
@@ -306,6 +306,22 @@ module FakeRedis
|
|
306
306
|
it "should error with an invalid aggregate" do
|
307
307
|
expect { @client.zinterstore("out", %w(key1 key2), :aggregate => :invalid) }.to raise_error(Redis::CommandError, "ERR syntax error")
|
308
308
|
end
|
309
|
+
|
310
|
+
it 'stores nothing when there are no members in common' do
|
311
|
+
@client.zadd("k1", 1, "1")
|
312
|
+
@client.zadd("k1", 1, "2")
|
313
|
+
@client.sadd("k2", "a")
|
314
|
+
@client.sadd("k3", "b")
|
315
|
+
|
316
|
+
expect(@client.zinterstore("out", %w(k1 k2 k3))).to eq(0)
|
317
|
+
expect(@client.zrange("out", 0, -1)).to eq([])
|
318
|
+
end
|
319
|
+
|
320
|
+
it 'handles range start being higher than number of members' do
|
321
|
+
@client.zadd("key", 1, "1")
|
322
|
+
|
323
|
+
expect(@client.zrange("key", 10, 10)).to eq([])
|
324
|
+
end
|
309
325
|
end
|
310
326
|
|
311
327
|
context "zremrangebyscore" do
|
data/spec/spec_helper.rb
CHANGED
@@ -7,7 +7,11 @@ require "fakeredis/rspec"
|
|
7
7
|
require "support/shared_examples/sortable"
|
8
8
|
require "support/shared_examples/bitwise_operation"
|
9
9
|
|
10
|
+
|
10
11
|
RSpec.configure do |config|
|
12
|
+
# Enable memory adapter
|
13
|
+
config.before(:each) { FakeRedis.enable }
|
14
|
+
|
11
15
|
# replaces -b -fdoc --color in .rspec
|
12
16
|
config.color = true
|
13
17
|
config.default_formatter = "doc"
|
@@ -25,5 +29,5 @@ RSpec.configure do |config|
|
|
25
29
|
end
|
26
30
|
|
27
31
|
def fakeredis?
|
28
|
-
|
32
|
+
FakeRedis.enabled?
|
29
33
|
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
# Remove memory so we test against actual redis
|
4
|
-
Redis::Connection.drivers.pop
|
5
|
-
|
6
3
|
RSpec.configure do |config|
|
7
4
|
config.before(:each) do
|
5
|
+
# Disable so we test against actual redis
|
6
|
+
FakeRedis.disable
|
7
|
+
|
8
8
|
Redis.new.flushall
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
12
|
def fakeredis?
|
13
|
-
|
13
|
+
FakeRedis.enabled?
|
14
14
|
end
|
data/spec/transactions_spec.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fakeredis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Guillermo Iguaran
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '3.2'
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '5.0'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '3.2'
|
30
|
+
- - "<"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '5.0'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: rspec
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -69,8 +75,10 @@ files:
|
|
69
75
|
- lib/fakeredis/zset.rb
|
70
76
|
- lib/redis/connection/memory.rb
|
71
77
|
- spec/bitop_command_spec.rb
|
78
|
+
- spec/command_executor_spec.rb
|
72
79
|
- spec/compatibility_spec.rb
|
73
80
|
- spec/connection_spec.rb
|
81
|
+
- spec/fakeredis_spec.rb
|
74
82
|
- spec/hashes_spec.rb
|
75
83
|
- spec/keys_spec.rb
|
76
84
|
- spec/lists_spec.rb
|
@@ -107,14 +115,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
115
|
version: '0'
|
108
116
|
requirements: []
|
109
117
|
rubyforge_project:
|
110
|
-
rubygems_version: 2.
|
118
|
+
rubygems_version: 2.6.11
|
111
119
|
signing_key:
|
112
120
|
specification_version: 4
|
113
121
|
summary: Fake (In-memory) driver for redis-rb.
|
114
122
|
test_files:
|
115
123
|
- spec/bitop_command_spec.rb
|
124
|
+
- spec/command_executor_spec.rb
|
116
125
|
- spec/compatibility_spec.rb
|
117
126
|
- spec/connection_spec.rb
|
127
|
+
- spec/fakeredis_spec.rb
|
118
128
|
- spec/hashes_spec.rb
|
119
129
|
- spec/keys_spec.rb
|
120
130
|
- spec/lists_spec.rb
|