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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: bcb4f488030ddb0990d3d5c7449bf1b152e0a915
4
- data.tar.gz: 208803ff63e302ee1537246c86a6533689c16d69
2
+ SHA256:
3
+ metadata.gz: b43add28573ef8489ff0753e206a0718dad010cd5d01db9e4e00a9ea08cea310
4
+ data.tar.gz: 93f90c207e1942125e4e6c2fc9b3d4de1e3de39c02de0538e06e3514c2b500ca
5
5
  SHA512:
6
- metadata.gz: 760b48c52577e93071bf2ee8abe06f0fb95fb2d4127d8fe08e1187f79dc00caf15baf23d9a2367a15af0264539d90903538d0e8d4b6d37bc9a3cf740a0c87fd4
7
- data.tar.gz: 1d66db895f3386f0ce52cea92594c1130abbe7e5c00a9bda9257ff455b524656d2d9240e959ce7597c0d36fed9cb739f142d6fe1f4c20f67d6fc7866c039ebf8
6
+ metadata.gz: d4bd7cb90c27690cfde599df39c0f5d7480b635755f11d89b62f8dca76c7a69b0d24628002c9063939e353a466111a48ba97fa7bbf47658b56f904b8b131bb30
7
+ data.tar.gz: 8228b85a4604d7d1a68af874361be22201a73f5fd796a75eb96a7972598556bb7b399bfabcc324e796cd02ef52b4cc10af15d27dc07916cc4288754651dfe681
@@ -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
@@ -1,15 +1,35 @@
1
- sudo: false
1
+ sudo: false
2
2
  language: ruby
3
3
  before_install:
4
- - gem install bundler -v 1.16.1
5
- - gem install rubocop
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.1.6
10
- - 2.2.9
11
- - 2.4.3
12
- - 2.5.0
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
@@ -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
@@ -1,20 +1,27 @@
1
- # 0.0.5 (2018-03-26)
2
- - Expanded .travis.yml to cover more rvm versions.
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
- # 0.0.4 (2017-09-18)
15
+ ## 0.0.4 (2017-09-18)
7
16
  - Rubocop polish and defiance.
8
17
 
9
- # 0.0.3 (2017-08-29)
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
- # 0.0.2 (2017-08-29)
15
-
23
+ ## 0.0.2 (2017-08-29)
16
24
  - Broke out into Prosperworks/redis-script_manager, make public.
17
25
 
18
- # 0.0.1 (prehistory)
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
- # Specify your gem's dependencies in redis-script_manager.gemspec
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, redis-rb-scripting also supports a repository of .lua
85
- files with common code folding.
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,2 @@
1
+ ---
2
+ BUNDLE_RETRY: "1"
@@ -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
@@ -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,:client].each do |method|
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 = redis.client.is_a?(Redis::Pipeline) # thanks @marshall
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
@@ -1,10 +1,5 @@
1
1
  class Redis
2
2
  class ScriptManager
3
- #
4
- # Version plan/history:
5
- #
6
- #
7
- #
8
- VERSION = '0.0.5'.freeze
3
+ VERSION = '0.0.6'.freeze
9
4
  end
10
5
  end
@@ -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.authors = ["jhwillett"]
12
- spec.email = ["jhw@prosperworks.com"]
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.bindir = "exe"
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
- spec.add_development_dependency 'bundler', '~> 1.16.1'
25
- spec.add_development_dependency 'minitest', '~> 5.11.3'
26
- spec.add_development_dependency 'rake', '~> 12.3.1'
27
- spec.add_development_dependency 'redis-namespace', '~> 1.5'
28
- spec.add_development_dependency 'rubocop', '~> 0.54.0'
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 'redis', '~> 3.2'
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.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - jhwillett
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-27 00:00:00.000000000 Z
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: '3.2'
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: '3.2'
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: '0'
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.4.8
90
+ rubygems_version: 2.7.8
137
91
  signing_key:
138
92
  specification_version: 4
139
93
  summary: Manage Lua script execution in Redis