redis-script_manager 0.0.5 → 0.0.6
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 +5 -5
- data/.rubocop.yml +9 -1
- data/.travis.yml +29 -9
- data/Appraisals +27 -0
- data/CHANGELOG.md +15 -8
- data/Gemfile +22 -1
- data/README.md +2 -2
- data/gemfiles/.bundle/config +2 -0
- data/gemfiles/redis_3.0.gemfile +19 -0
- data/gemfiles/redis_3.0.gemfile.lock +50 -0
- data/gemfiles/redis_3.1.gemfile +19 -0
- data/gemfiles/redis_3.1.gemfile.lock +50 -0
- data/gemfiles/redis_3.2.gemfile +19 -0
- data/gemfiles/redis_3.2.gemfile.lock +50 -0
- data/gemfiles/redis_3.3.gemfile +19 -0
- data/gemfiles/redis_3.3.gemfile.lock +50 -0
- data/gemfiles/redis_4.0.gemfile +19 -0
- data/gemfiles/redis_4.0.gemfile.lock +50 -0
- data/gemfiles/redis_4.1.gemfile +19 -0
- data/gemfiles/redis_4.1.gemfile.lock +50 -0
- data/lib/redis/script_manager.rb +17 -3
- data/lib/redis/script_manager/version.rb +1 -6
- data/redis-script_manager.gemspec +16 -14
- metadata +34 -80
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b43add28573ef8489ff0753e206a0718dad010cd5d01db9e4e00a9ea08cea310
|
4
|
+
data.tar.gz: 93f90c207e1942125e4e6c2fc9b3d4de1e3de39c02de0538e06e3514c2b500ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4bd7cb90c27690cfde599df39c0f5d7480b635755f11d89b62f8dca76c7a69b0d24628002c9063939e353a466111a48ba97fa7bbf47658b56f904b8b131bb30
|
7
|
+
data.tar.gz: 8228b85a4604d7d1a68af874361be22201a73f5fd796a75eb96a7972598556bb7b399bfabcc324e796cd02ef52b4cc10af15d27dc07916cc4288754651dfe681
|
data/.rubocop.yml
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
-
|
2
1
|
AllCops:
|
3
2
|
Include:
|
4
3
|
- Rakefile
|
5
4
|
- Gemfile
|
6
5
|
- '*.gemspec'
|
6
|
+
Exclude:
|
7
|
+
- 'gemfiles/vendor/**/*'
|
7
8
|
|
8
9
|
# Broadly speaking, test code gets a pass for most of the Metrics family.
|
9
10
|
#
|
@@ -72,3 +73,10 @@ Style:
|
|
72
73
|
#
|
73
74
|
Lint/AmbiguousBlockAssociation: # obnoxiously rejects idiomatic Ruby
|
74
75
|
Enabled: false
|
76
|
+
|
77
|
+
# Naming/FileName is kind of cool but off-base w/r/t demanding that
|
78
|
+
# Appraisals use snake_case.
|
79
|
+
#
|
80
|
+
Naming/FileName:
|
81
|
+
Exclude:
|
82
|
+
- Appraisals
|
data/.travis.yml
CHANGED
@@ -1,15 +1,35 @@
|
|
1
|
-
sudo:
|
1
|
+
sudo: false
|
2
2
|
language: ruby
|
3
3
|
before_install:
|
4
|
-
|
5
|
-
|
4
|
+
#
|
5
|
+
# bundler >= 2.0.0 requires ruby >= 2.3.0 but we still want to
|
6
|
+
# support back to ruby 2.2.2.
|
7
|
+
#
|
8
|
+
# See https://docs.travis-ci.com/user/languages/ruby/#bundler-20 for
|
9
|
+
# how this trickery works.
|
10
|
+
#
|
11
|
+
- bundler --version || true
|
12
|
+
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
13
|
+
- bundler --version || true
|
14
|
+
- gem install bundler -v 1.16.6
|
15
|
+
- gem list --local bundler
|
16
|
+
- bundler --version || true
|
6
17
|
services:
|
7
18
|
- redis-server
|
8
19
|
rvm:
|
9
|
-
- 2.
|
10
|
-
- 2.2.
|
11
|
-
- 2.
|
12
|
-
- 2.
|
20
|
+
- 2.2.2
|
21
|
+
- 2.2.10
|
22
|
+
- 2.3.7
|
23
|
+
- 2.4.6
|
24
|
+
- 2.5.5
|
25
|
+
- 2.6.3
|
26
|
+
gemfile:
|
27
|
+
- gemfiles/redis_3.0.gemfile
|
28
|
+
- gemfiles/redis_3.1.gemfile
|
29
|
+
- gemfiles/redis_3.2.gemfile
|
30
|
+
- gemfiles/redis_3.3.gemfile
|
31
|
+
- gemfiles/redis_4.0.gemfile
|
32
|
+
- gemfiles/redis_4.1.gemfile
|
13
33
|
script:
|
14
|
-
- bundle exec rubocop --display-cop-names --display-style-guide
|
15
|
-
- bundle exec env REDIS_URL=redis://localhost:6379 rake test
|
34
|
+
- bundle _1.16.6_ exec rubocop --display-cop-names --display-style-guide
|
35
|
+
- bundle _1.16.6_ exec env REDIS_URL=redis://localhost:6379 rake test
|
data/Appraisals
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
appraise 'redis-3.0' do
|
2
|
+
gem 'redis', '>= 3.0', '< 3.1'
|
3
|
+
end
|
4
|
+
appraise 'redis-3.1' do
|
5
|
+
gem 'redis', '>= 3.1', '< 3.2'
|
6
|
+
end
|
7
|
+
appraise 'redis-3.2' do
|
8
|
+
gem 'redis', '>= 3.2', '< 3.3'
|
9
|
+
end
|
10
|
+
appraise 'redis-3.3' do
|
11
|
+
gem 'redis', '>= 3.3', '< 3.4'
|
12
|
+
end
|
13
|
+
#
|
14
|
+
# redis >= 4.0 depends on ruby >= 2.2.2
|
15
|
+
#
|
16
|
+
appraise 'redis-4.0' do
|
17
|
+
gem 'redis', '>= 4.0', '< 4.1'
|
18
|
+
end
|
19
|
+
#
|
20
|
+
# redis 4.1.1 still supports ruby 2.2, but redis 4.1.2 drops it
|
21
|
+
#
|
22
|
+
# I am not ready to pull the plug on ruby 2.2.2, so redis 4.1.x is
|
23
|
+
# as high as we will go for now.
|
24
|
+
#
|
25
|
+
appraise 'redis-4.1' do
|
26
|
+
gem 'redis', '>= 4.1', '< 4.1.2'
|
27
|
+
end
|
data/CHANGELOG.md
CHANGED
@@ -1,20 +1,27 @@
|
|
1
|
-
|
2
|
-
-
|
1
|
+
## 0.0.6 (2019-06-05)
|
2
|
+
- Support for redis-rb >= 4.0.0 added.
|
3
|
+
- Breaking changes at redis-rb v4.0.0 addressed.
|
4
|
+
- Support for ruby < 2.2.2 dropped.
|
5
|
+
- Support for ruby 2.6 added.
|
6
|
+
- Update ruby microversions tested in .travis.yml.
|
7
|
+
- Gemfile, Appraisals, and .travis.yml set to test with redis-rb
|
8
|
+
gems from 3.0 through 4.1.
|
9
|
+
|
10
|
+
## 0.0.5 (2018-03-26)
|
11
|
+
- Expanded .travis.yml to cover more ruby versions.
|
3
12
|
- Shrink Rubocop coverage to exclude `Style/*`.
|
4
13
|
- Moves version history out into CHANGELOG.md.
|
5
14
|
|
6
|
-
|
15
|
+
## 0.0.4 (2017-09-18)
|
7
16
|
- Rubocop polish and defiance.
|
8
17
|
|
9
|
-
|
18
|
+
## 0.0.3 (2017-08-29)
|
10
19
|
- Got .travis.yml working with a live redis-server.
|
11
20
|
- Initial Rubocop integration.
|
12
21
|
- Misc cleanup.
|
13
22
|
|
14
|
-
|
15
|
-
|
23
|
+
## 0.0.2 (2017-08-29)
|
16
24
|
- Broke out into Prosperworks/redis-script_manager, make public.
|
17
25
|
|
18
|
-
|
19
|
-
|
26
|
+
## 0.0.1 (prehistory)
|
20
27
|
- Still in Prosperworks/ALI/vendor/gems/redis-script_manager.
|
data/Gemfile
CHANGED
@@ -1,4 +1,25 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
#
|
3
|
+
# Development dependencies are captured in Gemfile and in
|
4
|
+
# gemfiles/*.gemfile, and managed with the gem 'appraisal', per the
|
5
|
+
# pattern:
|
6
|
+
#
|
7
|
+
# https://github.com/jollygoodcode/jollygoodcode.github.io/issues/21
|
8
|
+
|
9
|
+
source 'https://rubygems.org'
|
10
|
+
|
11
|
+
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
12
|
+
|
4
13
|
gemspec
|
14
|
+
|
15
|
+
group :development do
|
16
|
+
gem 'appraisal', '~> 2.2.0'
|
17
|
+
gem 'bundler', '1.16.6'
|
18
|
+
gem 'rake', '~> 12.3.1'
|
19
|
+
end
|
20
|
+
|
21
|
+
group :test do
|
22
|
+
gem 'minitest', '~> 5.11.3'
|
23
|
+
gem 'redis-namespace', '~> 1.5'
|
24
|
+
gem 'rubocop', '~> 0.54.0'
|
25
|
+
end
|
data/README.md
CHANGED
@@ -81,8 +81,8 @@ to repopulate the cache in these cases. It has no special provision
|
|
81
81
|
for pipelines. Called in a pipeline it will fail to recover from a
|
82
82
|
cold cache.
|
83
83
|
|
84
|
-
Like wolverine,
|
85
|
-
|
84
|
+
Like wolverine, led also supports a repository of .lua files with
|
85
|
+
common code folding.
|
86
86
|
|
87
87
|
|
88
88
|
## Installation
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "redis", ">= 3.0", "< 3.1"
|
6
|
+
|
7
|
+
group :development do
|
8
|
+
gem "appraisal", "~> 2.2.0"
|
9
|
+
gem "bundler", "1.16.6"
|
10
|
+
gem "rake", "~> 12.3.1"
|
11
|
+
end
|
12
|
+
|
13
|
+
group :test do
|
14
|
+
gem "minitest", "~> 5.11.3"
|
15
|
+
gem "redis-namespace", "~> 1.5"
|
16
|
+
gem "rubocop", "~> 0.54.0"
|
17
|
+
end
|
18
|
+
|
19
|
+
gemspec path: "../"
|
@@ -0,0 +1,50 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ..
|
3
|
+
specs:
|
4
|
+
redis-script_manager (0.0.6)
|
5
|
+
redis (>= 3.0.0, < 5.0.0)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
appraisal (2.2.0)
|
11
|
+
bundler
|
12
|
+
rake
|
13
|
+
thor (>= 0.14.0)
|
14
|
+
ast (2.4.0)
|
15
|
+
minitest (5.11.3)
|
16
|
+
parallel (1.17.0)
|
17
|
+
parser (2.6.3.0)
|
18
|
+
ast (~> 2.4.0)
|
19
|
+
powerpack (0.1.2)
|
20
|
+
rainbow (3.0.0)
|
21
|
+
rake (12.3.2)
|
22
|
+
redis (3.0.7)
|
23
|
+
redis-namespace (1.6.0)
|
24
|
+
redis (>= 3.0.4)
|
25
|
+
rubocop (0.54.0)
|
26
|
+
parallel (~> 1.10)
|
27
|
+
parser (>= 2.5)
|
28
|
+
powerpack (~> 0.1)
|
29
|
+
rainbow (>= 2.2.2, < 4.0)
|
30
|
+
ruby-progressbar (~> 1.7)
|
31
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
32
|
+
ruby-progressbar (1.10.1)
|
33
|
+
thor (0.20.3)
|
34
|
+
unicode-display_width (1.6.0)
|
35
|
+
|
36
|
+
PLATFORMS
|
37
|
+
ruby
|
38
|
+
|
39
|
+
DEPENDENCIES
|
40
|
+
appraisal (~> 2.2.0)
|
41
|
+
bundler (= 1.16.6)
|
42
|
+
minitest (~> 5.11.3)
|
43
|
+
rake (~> 12.3.1)
|
44
|
+
redis (>= 3.0, < 3.1)
|
45
|
+
redis-namespace (~> 1.5)
|
46
|
+
redis-script_manager!
|
47
|
+
rubocop (~> 0.54.0)
|
48
|
+
|
49
|
+
BUNDLED WITH
|
50
|
+
1.16.6
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "redis", ">= 3.1", "< 3.2"
|
6
|
+
|
7
|
+
group :development do
|
8
|
+
gem "appraisal", "~> 2.2.0"
|
9
|
+
gem "bundler", "1.16.6"
|
10
|
+
gem "rake", "~> 12.3.1"
|
11
|
+
end
|
12
|
+
|
13
|
+
group :test do
|
14
|
+
gem "minitest", "~> 5.11.3"
|
15
|
+
gem "redis-namespace", "~> 1.5"
|
16
|
+
gem "rubocop", "~> 0.54.0"
|
17
|
+
end
|
18
|
+
|
19
|
+
gemspec path: "../"
|
@@ -0,0 +1,50 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ..
|
3
|
+
specs:
|
4
|
+
redis-script_manager (0.0.6)
|
5
|
+
redis (>= 3.0.0, < 5.0.0)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
appraisal (2.2.0)
|
11
|
+
bundler
|
12
|
+
rake
|
13
|
+
thor (>= 0.14.0)
|
14
|
+
ast (2.4.0)
|
15
|
+
minitest (5.11.3)
|
16
|
+
parallel (1.17.0)
|
17
|
+
parser (2.6.3.0)
|
18
|
+
ast (~> 2.4.0)
|
19
|
+
powerpack (0.1.2)
|
20
|
+
rainbow (3.0.0)
|
21
|
+
rake (12.3.2)
|
22
|
+
redis (3.1.0)
|
23
|
+
redis-namespace (1.6.0)
|
24
|
+
redis (>= 3.0.4)
|
25
|
+
rubocop (0.54.0)
|
26
|
+
parallel (~> 1.10)
|
27
|
+
parser (>= 2.5)
|
28
|
+
powerpack (~> 0.1)
|
29
|
+
rainbow (>= 2.2.2, < 4.0)
|
30
|
+
ruby-progressbar (~> 1.7)
|
31
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
32
|
+
ruby-progressbar (1.10.1)
|
33
|
+
thor (0.20.3)
|
34
|
+
unicode-display_width (1.6.0)
|
35
|
+
|
36
|
+
PLATFORMS
|
37
|
+
ruby
|
38
|
+
|
39
|
+
DEPENDENCIES
|
40
|
+
appraisal (~> 2.2.0)
|
41
|
+
bundler (= 1.16.6)
|
42
|
+
minitest (~> 5.11.3)
|
43
|
+
rake (~> 12.3.1)
|
44
|
+
redis (>= 3.1, < 3.2)
|
45
|
+
redis-namespace (~> 1.5)
|
46
|
+
redis-script_manager!
|
47
|
+
rubocop (~> 0.54.0)
|
48
|
+
|
49
|
+
BUNDLED WITH
|
50
|
+
1.16.6
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "redis", ">= 3.2", "< 3.3"
|
6
|
+
|
7
|
+
group :development do
|
8
|
+
gem "appraisal", "~> 2.2.0"
|
9
|
+
gem "bundler", "1.16.6"
|
10
|
+
gem "rake", "~> 12.3.1"
|
11
|
+
end
|
12
|
+
|
13
|
+
group :test do
|
14
|
+
gem "minitest", "~> 5.11.3"
|
15
|
+
gem "redis-namespace", "~> 1.5"
|
16
|
+
gem "rubocop", "~> 0.54.0"
|
17
|
+
end
|
18
|
+
|
19
|
+
gemspec path: "../"
|
@@ -0,0 +1,50 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ..
|
3
|
+
specs:
|
4
|
+
redis-script_manager (0.0.6)
|
5
|
+
redis (>= 3.0.0, < 5.0.0)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
appraisal (2.2.0)
|
11
|
+
bundler
|
12
|
+
rake
|
13
|
+
thor (>= 0.14.0)
|
14
|
+
ast (2.4.0)
|
15
|
+
minitest (5.11.3)
|
16
|
+
parallel (1.17.0)
|
17
|
+
parser (2.6.3.0)
|
18
|
+
ast (~> 2.4.0)
|
19
|
+
powerpack (0.1.2)
|
20
|
+
rainbow (3.0.0)
|
21
|
+
rake (12.3.2)
|
22
|
+
redis (3.2.2)
|
23
|
+
redis-namespace (1.6.0)
|
24
|
+
redis (>= 3.0.4)
|
25
|
+
rubocop (0.54.0)
|
26
|
+
parallel (~> 1.10)
|
27
|
+
parser (>= 2.5)
|
28
|
+
powerpack (~> 0.1)
|
29
|
+
rainbow (>= 2.2.2, < 4.0)
|
30
|
+
ruby-progressbar (~> 1.7)
|
31
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
32
|
+
ruby-progressbar (1.10.1)
|
33
|
+
thor (0.20.3)
|
34
|
+
unicode-display_width (1.6.0)
|
35
|
+
|
36
|
+
PLATFORMS
|
37
|
+
ruby
|
38
|
+
|
39
|
+
DEPENDENCIES
|
40
|
+
appraisal (~> 2.2.0)
|
41
|
+
bundler (= 1.16.6)
|
42
|
+
minitest (~> 5.11.3)
|
43
|
+
rake (~> 12.3.1)
|
44
|
+
redis (>= 3.2, < 3.3)
|
45
|
+
redis-namespace (~> 1.5)
|
46
|
+
redis-script_manager!
|
47
|
+
rubocop (~> 0.54.0)
|
48
|
+
|
49
|
+
BUNDLED WITH
|
50
|
+
1.16.6
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "redis", ">= 3.3", "< 3.4"
|
6
|
+
|
7
|
+
group :development do
|
8
|
+
gem "appraisal", "~> 2.2.0"
|
9
|
+
gem "bundler", "1.16.6"
|
10
|
+
gem "rake", "~> 12.3.1"
|
11
|
+
end
|
12
|
+
|
13
|
+
group :test do
|
14
|
+
gem "minitest", "~> 5.11.3"
|
15
|
+
gem "redis-namespace", "~> 1.5"
|
16
|
+
gem "rubocop", "~> 0.54.0"
|
17
|
+
end
|
18
|
+
|
19
|
+
gemspec path: "../"
|
@@ -0,0 +1,50 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ..
|
3
|
+
specs:
|
4
|
+
redis-script_manager (0.0.6)
|
5
|
+
redis (>= 3.0.0, < 5.0.0)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
appraisal (2.2.0)
|
11
|
+
bundler
|
12
|
+
rake
|
13
|
+
thor (>= 0.14.0)
|
14
|
+
ast (2.4.0)
|
15
|
+
minitest (5.11.3)
|
16
|
+
parallel (1.17.0)
|
17
|
+
parser (2.6.3.0)
|
18
|
+
ast (~> 2.4.0)
|
19
|
+
powerpack (0.1.2)
|
20
|
+
rainbow (3.0.0)
|
21
|
+
rake (12.3.2)
|
22
|
+
redis (3.3.5)
|
23
|
+
redis-namespace (1.6.0)
|
24
|
+
redis (>= 3.0.4)
|
25
|
+
rubocop (0.54.0)
|
26
|
+
parallel (~> 1.10)
|
27
|
+
parser (>= 2.5)
|
28
|
+
powerpack (~> 0.1)
|
29
|
+
rainbow (>= 2.2.2, < 4.0)
|
30
|
+
ruby-progressbar (~> 1.7)
|
31
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
32
|
+
ruby-progressbar (1.10.1)
|
33
|
+
thor (0.20.3)
|
34
|
+
unicode-display_width (1.6.0)
|
35
|
+
|
36
|
+
PLATFORMS
|
37
|
+
ruby
|
38
|
+
|
39
|
+
DEPENDENCIES
|
40
|
+
appraisal (~> 2.2.0)
|
41
|
+
bundler (= 1.16.6)
|
42
|
+
minitest (~> 5.11.3)
|
43
|
+
rake (~> 12.3.1)
|
44
|
+
redis (>= 3.3, < 3.4)
|
45
|
+
redis-namespace (~> 1.5)
|
46
|
+
redis-script_manager!
|
47
|
+
rubocop (~> 0.54.0)
|
48
|
+
|
49
|
+
BUNDLED WITH
|
50
|
+
1.16.6
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "redis", ">= 4.0", "< 4.1"
|
6
|
+
|
7
|
+
group :development do
|
8
|
+
gem "appraisal", "~> 2.2.0"
|
9
|
+
gem "bundler", "1.16.6"
|
10
|
+
gem "rake", "~> 12.3.1"
|
11
|
+
end
|
12
|
+
|
13
|
+
group :test do
|
14
|
+
gem "minitest", "~> 5.11.3"
|
15
|
+
gem "redis-namespace", "~> 1.5"
|
16
|
+
gem "rubocop", "~> 0.54.0"
|
17
|
+
end
|
18
|
+
|
19
|
+
gemspec path: "../"
|
@@ -0,0 +1,50 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ..
|
3
|
+
specs:
|
4
|
+
redis-script_manager (0.0.6)
|
5
|
+
redis (>= 3.0.0, < 5.0.0)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
appraisal (2.2.0)
|
11
|
+
bundler
|
12
|
+
rake
|
13
|
+
thor (>= 0.14.0)
|
14
|
+
ast (2.4.0)
|
15
|
+
minitest (5.11.3)
|
16
|
+
parallel (1.17.0)
|
17
|
+
parser (2.6.3.0)
|
18
|
+
ast (~> 2.4.0)
|
19
|
+
powerpack (0.1.2)
|
20
|
+
rainbow (3.0.0)
|
21
|
+
rake (12.3.2)
|
22
|
+
redis (4.0.3)
|
23
|
+
redis-namespace (1.6.0)
|
24
|
+
redis (>= 3.0.4)
|
25
|
+
rubocop (0.54.0)
|
26
|
+
parallel (~> 1.10)
|
27
|
+
parser (>= 2.5)
|
28
|
+
powerpack (~> 0.1)
|
29
|
+
rainbow (>= 2.2.2, < 4.0)
|
30
|
+
ruby-progressbar (~> 1.7)
|
31
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
32
|
+
ruby-progressbar (1.10.1)
|
33
|
+
thor (0.20.3)
|
34
|
+
unicode-display_width (1.6.0)
|
35
|
+
|
36
|
+
PLATFORMS
|
37
|
+
ruby
|
38
|
+
|
39
|
+
DEPENDENCIES
|
40
|
+
appraisal (~> 2.2.0)
|
41
|
+
bundler (= 1.16.6)
|
42
|
+
minitest (~> 5.11.3)
|
43
|
+
rake (~> 12.3.1)
|
44
|
+
redis (>= 4.0, < 4.1)
|
45
|
+
redis-namespace (~> 1.5)
|
46
|
+
redis-script_manager!
|
47
|
+
rubocop (~> 0.54.0)
|
48
|
+
|
49
|
+
BUNDLED WITH
|
50
|
+
1.16.6
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "redis", ">= 4.1", "< 4.1.2"
|
6
|
+
|
7
|
+
group :development do
|
8
|
+
gem "appraisal", "~> 2.2.0"
|
9
|
+
gem "bundler", "1.16.6"
|
10
|
+
gem "rake", "~> 12.3.1"
|
11
|
+
end
|
12
|
+
|
13
|
+
group :test do
|
14
|
+
gem "minitest", "~> 5.11.3"
|
15
|
+
gem "redis-namespace", "~> 1.5"
|
16
|
+
gem "rubocop", "~> 0.54.0"
|
17
|
+
end
|
18
|
+
|
19
|
+
gemspec path: "../"
|
@@ -0,0 +1,50 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ..
|
3
|
+
specs:
|
4
|
+
redis-script_manager (0.0.6)
|
5
|
+
redis (>= 3.0.0, < 5.0.0)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
appraisal (2.2.0)
|
11
|
+
bundler
|
12
|
+
rake
|
13
|
+
thor (>= 0.14.0)
|
14
|
+
ast (2.4.0)
|
15
|
+
minitest (5.11.3)
|
16
|
+
parallel (1.17.0)
|
17
|
+
parser (2.6.3.0)
|
18
|
+
ast (~> 2.4.0)
|
19
|
+
powerpack (0.1.2)
|
20
|
+
rainbow (3.0.0)
|
21
|
+
rake (12.3.2)
|
22
|
+
redis (4.1.1)
|
23
|
+
redis-namespace (1.6.0)
|
24
|
+
redis (>= 3.0.4)
|
25
|
+
rubocop (0.54.0)
|
26
|
+
parallel (~> 1.10)
|
27
|
+
parser (>= 2.5)
|
28
|
+
powerpack (~> 0.1)
|
29
|
+
rainbow (>= 2.2.2, < 4.0)
|
30
|
+
ruby-progressbar (~> 1.7)
|
31
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
32
|
+
ruby-progressbar (1.10.1)
|
33
|
+
thor (0.20.3)
|
34
|
+
unicode-display_width (1.6.0)
|
35
|
+
|
36
|
+
PLATFORMS
|
37
|
+
ruby
|
38
|
+
|
39
|
+
DEPENDENCIES
|
40
|
+
appraisal (~> 2.2.0)
|
41
|
+
bundler (= 1.16.6)
|
42
|
+
minitest (~> 5.11.3)
|
43
|
+
rake (~> 12.3.1)
|
44
|
+
redis (>= 4.1, < 4.1.2)
|
45
|
+
redis-namespace (~> 1.5)
|
46
|
+
redis-script_manager!
|
47
|
+
rubocop (~> 0.54.0)
|
48
|
+
|
49
|
+
BUNDLED WITH
|
50
|
+
1.16.6
|
data/lib/redis/script_manager.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "redis/script_manager/version"
|
2
|
+
require "digest"
|
2
3
|
|
3
4
|
class Redis
|
4
5
|
|
@@ -29,7 +30,7 @@ class Redis
|
|
29
30
|
# on redis
|
30
31
|
#
|
31
32
|
def self.eval_gently(redis,lua,keys=[],args=[])
|
32
|
-
[:eval,:evalsha,:script
|
33
|
+
[:eval,:evalsha,:script].each do |method|
|
33
34
|
if !redis.respond_to?(method) || !redis.respond_to?(:script)
|
34
35
|
raise ArgumentError, "bogus redis #{redis}, no #{method}"
|
35
36
|
end
|
@@ -147,8 +148,7 @@ class Redis
|
|
147
148
|
_statsd_timing("preloaded_shas.cache_size",cache_size)
|
148
149
|
return result
|
149
150
|
end
|
150
|
-
in_pipeline
|
151
|
-
if in_pipeline
|
151
|
+
if in_pipeline?(redis)
|
152
152
|
_statsd_increment("pipeline_eval")
|
153
153
|
return redis.eval(lua,keys,args)
|
154
154
|
end
|
@@ -178,6 +178,20 @@ class Redis
|
|
178
178
|
end
|
179
179
|
end
|
180
180
|
|
181
|
+
# @return true if redis is currently in a pipeline, false otherwise
|
182
|
+
#
|
183
|
+
def self.in_pipeline?(redis)
|
184
|
+
#
|
185
|
+
# redis-rb 4.0 added support for the redis-server command
|
186
|
+
# CLIENT, and in so doing re-named the accessor for the lower
|
187
|
+
# level client from :client to :_client.
|
188
|
+
#
|
189
|
+
# htps://github.com/redis/redis-rb/blob/master/CHANGELOG.md#40
|
190
|
+
#
|
191
|
+
client = redis.respond_to?(:_client) ? redis._client : redis.client
|
192
|
+
client.is_a?(Redis::Pipeline) # thanks @marshall
|
193
|
+
end
|
194
|
+
|
181
195
|
@preloaded_shas = Set[] # [redis.object_id,sha(lua)] which have been loaded
|
182
196
|
|
183
197
|
def self.purge_preloaded_shas # for test, clean state
|
@@ -3,13 +3,12 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
require 'redis/script_manager/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
|
-
|
7
|
-
spec.name = "redis-script_manager"
|
6
|
+
spec.name = 'redis-script_manager'
|
8
7
|
spec.version = Redis::ScriptManager::VERSION
|
9
8
|
spec.platform = Gem::Platform::RUBY
|
10
|
-
|
11
|
-
spec.
|
12
|
-
spec.
|
9
|
+
spec.authors = ['jhwillett']
|
10
|
+
spec.email = ['jhw@prosperworks.com']
|
11
|
+
spec.license = 'MIT'
|
13
12
|
|
14
13
|
spec.summary = 'Manage Lua script execution in Redis'
|
15
14
|
spec.homepage = 'https://github.com/ProsperWorks/redis-script_manager'
|
@@ -17,16 +16,19 @@ Gem::Specification.new do |spec|
|
|
17
16
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
17
|
f.match(%r{^(test|spec|features)/})
|
19
18
|
end
|
20
|
-
spec.
|
21
|
-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
|
-
spec.require_paths = ["lib"]
|
19
|
+
spec.require_paths = ['lib']
|
23
20
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
21
|
+
# We use 'foo: bar' syntax liberally, not the older ':foo => bar'.
|
22
|
+
# Possibly other Ruby 2-isms as well.
|
23
|
+
#
|
24
|
+
# Also, the redis gem from 4.0.0 does not support rubies < 2.2.2.
|
25
|
+
#
|
26
|
+
spec.required_ruby_version = ['>= 2.2.2', '< 2.7.0'] # tested to 2.6.3
|
29
27
|
|
30
|
-
spec.add_runtime_dependency
|
28
|
+
spec.add_runtime_dependency 'redis', '>= 3.0.0', '< 5.0.0' # tested to 4.1.1
|
31
29
|
|
30
|
+
# Development dependencies are captured in Gemfile, per the pattern:
|
31
|
+
#
|
32
|
+
# https://github.com/jollygoodcode/jollygoodcode.github.io/issues/21
|
33
|
+
#
|
32
34
|
end
|
metadata
CHANGED
@@ -1,99 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redis-script_manager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jhwillett
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-06-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.16.1
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 1.16.1
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: minitest
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 5.11.3
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: 5.11.3
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rake
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 12.3.1
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 12.3.1
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: redis-namespace
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '1.5'
|
62
|
-
type: :development
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '1.5'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rubocop
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 0.54.0
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 0.54.0
|
83
13
|
- !ruby/object:Gem::Dependency
|
84
14
|
name: redis
|
85
15
|
requirement: !ruby/object:Gem::Requirement
|
86
16
|
requirements:
|
87
|
-
- - "
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 3.0.0
|
20
|
+
- - "<"
|
88
21
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
22
|
+
version: 5.0.0
|
90
23
|
type: :runtime
|
91
24
|
prerelease: false
|
92
25
|
version_requirements: !ruby/object:Gem::Requirement
|
93
26
|
requirements:
|
94
|
-
- - "
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.0.0
|
30
|
+
- - "<"
|
95
31
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
32
|
+
version: 5.0.0
|
97
33
|
description:
|
98
34
|
email:
|
99
35
|
- jhw@prosperworks.com
|
@@ -104,6 +40,7 @@ files:
|
|
104
40
|
- ".gitignore"
|
105
41
|
- ".rubocop.yml"
|
106
42
|
- ".travis.yml"
|
43
|
+
- Appraisals
|
107
44
|
- CHANGELOG.md
|
108
45
|
- Gemfile
|
109
46
|
- LICENSE
|
@@ -111,11 +48,25 @@ files:
|
|
111
48
|
- Rakefile
|
112
49
|
- bin/console
|
113
50
|
- bin/setup
|
51
|
+
- gemfiles/.bundle/config
|
52
|
+
- gemfiles/redis_3.0.gemfile
|
53
|
+
- gemfiles/redis_3.0.gemfile.lock
|
54
|
+
- gemfiles/redis_3.1.gemfile
|
55
|
+
- gemfiles/redis_3.1.gemfile.lock
|
56
|
+
- gemfiles/redis_3.2.gemfile
|
57
|
+
- gemfiles/redis_3.2.gemfile.lock
|
58
|
+
- gemfiles/redis_3.3.gemfile
|
59
|
+
- gemfiles/redis_3.3.gemfile.lock
|
60
|
+
- gemfiles/redis_4.0.gemfile
|
61
|
+
- gemfiles/redis_4.0.gemfile.lock
|
62
|
+
- gemfiles/redis_4.1.gemfile
|
63
|
+
- gemfiles/redis_4.1.gemfile.lock
|
114
64
|
- lib/redis/script_manager.rb
|
115
65
|
- lib/redis/script_manager/version.rb
|
116
66
|
- redis-script_manager.gemspec
|
117
67
|
homepage: https://github.com/ProsperWorks/redis-script_manager
|
118
|
-
licenses:
|
68
|
+
licenses:
|
69
|
+
- MIT
|
119
70
|
metadata: {}
|
120
71
|
post_install_message:
|
121
72
|
rdoc_options: []
|
@@ -125,7 +76,10 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
125
76
|
requirements:
|
126
77
|
- - ">="
|
127
78
|
- !ruby/object:Gem::Version
|
128
|
-
version:
|
79
|
+
version: 2.2.2
|
80
|
+
- - "<"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.7.0
|
129
83
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
84
|
requirements:
|
131
85
|
- - ">="
|
@@ -133,7 +87,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
133
87
|
version: '0'
|
134
88
|
requirements: []
|
135
89
|
rubyforge_project:
|
136
|
-
rubygems_version: 2.
|
90
|
+
rubygems_version: 2.7.8
|
137
91
|
signing_key:
|
138
92
|
specification_version: 4
|
139
93
|
summary: Manage Lua script execution in Redis
|