redis-script_manager 0.0.5 → 0.0.6

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