me-redis 0.1.5 → 0.1.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
2
  SHA256:
3
- metadata.gz: 37a1a053c17bc56cc94b551e09527cd6d3a92a88c785988ac503d6241c803b3e
4
- data.tar.gz: 588df3069e17bfaf4e017d013d9d76f74359f5768a667ee1e3821d8f5b310e69
3
+ metadata.gz: fcb807ddbff3ae63c2c4ae0a1bdd2bee8e37202ca0477fc3c86d6b7c58feaa3d
4
+ data.tar.gz: 9d60ce417f2b0dfbf5e7fdf56ab6057e1a4f3bdb2ecc6793f8a952dc6fa9ed82
5
5
  SHA512:
6
- metadata.gz: 47e07cc98cf7b884cb5ee2bb68379d2cc98dd5c4635f9c31d4b382ef856f836e7dc0a524a36f72120ab91caad089481cd2a7912dca7c61bad89147c188da0aaa
7
- data.tar.gz: 5b3754b0aa7f4e74a233b241f057cb7d17ebf3836a01faeef72e4d137e58a7f19e7c1ee719d91d71b5a67ce63538bc4932030d685ca78c03c0ddaf1ce730a304
6
+ metadata.gz: 644bb9d176681ad580f7d268e6a3d51e4c06632d2269d00521a318544ed34a5fa50e9cc9035d94a6d823c3bd1e7b1d481406c4d3c82681343cfbb64c464e77b0
7
+ data.tar.gz: 4440092927b370e803e9d52eeb67477e9304734b178f4d013b4dec13af4d7ff44d9870190316e89f1fd515130cf0b838ab5401534ef089981cf16f6b2f31c41d
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ # 0.1.6
2
+ * adapted for ruby 3.1
3
+
1
4
  # 0.1.5
2
5
  * keys will return keys after applying me_key transformation to a given pattern
3
6
  * config now is an OpenStruct, not a Struct
data/Dockerfile CHANGED
@@ -1,4 +1,4 @@
1
- FROM ruby:2.5
1
+ FROM ruby:2.7
2
2
 
3
3
  WORKDIR me-redis
4
4
 
data/docker-compose.yml CHANGED
@@ -9,6 +9,19 @@ services:
9
9
  build: .
10
10
  image: me-redis-test
11
11
  command: bundle exec rake test
12
+ volumes:
13
+ - '.:/me-redis'
14
+ depends_on:
15
+ - redis
16
+ environment:
17
+ REDIS_URL: redis://redis:6379
18
+
19
+ test3:
20
+ build:
21
+ context: .
22
+ dockerfile: ruby3.Dockerfile
23
+ image: me-redis-test-3
24
+ command: bundle exec rake test
12
25
  volumes:
13
26
  - '.:/me-redis'
14
27
  depends_on:
@@ -9,17 +9,17 @@ module MeRedisHotMigrator
9
9
 
10
10
  base.class_eval do
11
11
  ZK_FALLBACK_METHODS.each do |method|
12
- alias_method "_#{method}", method
12
+ alias_method "___#{method}", method
13
13
  end
14
14
 
15
15
  include(MeRedis)
16
16
 
17
17
  def me_get( key )
18
- prev_future = _get( key ) unless @client.is_a?(self.class::Client)
18
+ prev_future = ___get( key ) unless @client.is_a?(self.class::Client)
19
19
  newvl = super(key)
20
20
 
21
21
  newvl.prev_future = prev_future if newvl.is_a?(self.class::Future)
22
- newvl || _get( key )
22
+ newvl || ___get( key )
23
23
  end
24
24
 
25
25
  def me_mget(*keys)
@@ -36,15 +36,15 @@ module MeRedisHotMigrator
36
36
  module PrependMethods
37
37
  ZK_FALLBACK_METHODS.each do |method|
38
38
  define_method(method) do |*args|
39
- prev_future = send("_#{method}", *args) unless @client.is_a?(self.class::Client)
39
+ prev_future = send("___#{method}", *args) unless @client.is_a?(self.class::Client)
40
40
  newvl = super(*args)
41
41
 
42
42
  newvl.prev_future = prev_future if newvl.is_a?(self.class::Future)
43
43
 
44
44
  if method != :mget
45
- newvl || send("_#{method}", *args)
45
+ newvl || send("___#{method}", *args)
46
46
  else
47
- newvl.is_a?(Array) ? newvl.zip( send("_#{method}", *args) ).map!{|nvl, oldv| nvl || oldv } : newvl
47
+ newvl.is_a?(Array) ? newvl.zip( send("___#{method}", *args) ).map!{|nvl, oldv| nvl || oldv } : newvl
48
48
  end
49
49
 
50
50
  end
@@ -1,3 +1,3 @@
1
1
  module MeRedis
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -42,7 +42,7 @@ module MeRedis
42
42
  def persist(key); super(zip_key(key)) end
43
43
 
44
44
  def decrby( key, decrement ); super(zip_key(key), decrement) end
45
- def set( key, value, options = {} ); super( zip_key(key), value, options ) end
45
+ def set( key, value, **options ); super( zip_key(key), value, **options ) end
46
46
  def ttl(key); super( zip_key(key) ) end
47
47
  def mset( *key_values ); super( *key_values.each_slice(2).map{ |k,v| [zip_key(k),v] }.flatten ) end
48
48
  def mget( *keys ); super( *keys.map!{ |k| zip_key(k) } ) end
@@ -3,8 +3,8 @@ module MeRedis
3
3
  module ZipToHash
4
4
 
5
5
  module PrependMethods
6
- def initialize(*args, &block)
7
- super(*args, &block)
6
+ def initialize(*args, **kwargs, &block)
7
+ super(*args,**kwargs, &block)
8
8
 
9
9
  # hash-max-ziplist-entries must be cashed, we can't ask Redis every time we need to zip keys,
10
10
  # cause it's less performant and impossible during pipelining.
@@ -98,7 +98,7 @@ module MeRedis
98
98
 
99
99
  # Redis prepended methods
100
100
  def get( key ); unzip_value( super( key ), key) end
101
- def set( key, value, options = {} ); super( key, zip_value(value, key), options ) end
101
+ def set( key, value, **options); super( key, zip_value(value, key), **options ) end
102
102
 
103
103
  def mget(*args); unzip_arr_or_future(super(*args), args ) end
104
104
  def mset(*args); super( *map_msets_arr(args) ) end
data/lib/me_redis.rb CHANGED
@@ -17,17 +17,16 @@ require 'zlib'
17
17
  module MeRedis
18
18
  module ClassMethods
19
19
 
20
- def configure( config = nil )
20
+ def configure( **config )
21
21
  # at start they are nils, but at subsequent calls they may not be nils
22
22
  me_config.key_zip_regxp = nil
23
23
  me_config.compress_ns_regexp = nil
24
24
  @zip_ns_finder = nil
25
25
 
26
- config.each{ |key,value| me_config.send( "#{key}=", value ) } if config
26
+ config.each { |key,value| me_config.send( "#{key}=", value ) } if config
27
27
 
28
28
  yield( me_config ) if block_given?
29
29
 
30
-
31
30
  prepare_zip_crumbs
32
31
  prepare_compressors
33
32
 
@@ -99,6 +98,7 @@ module MeRedis
99
98
 
100
99
  def zip_ns_finder
101
100
  return @zip_ns_finder if @zip_ns_finder
101
+
102
102
  regexps_compress_ns = me_config.compress_namespaces.keys.select{|key| key.is_a?(Regexp) }
103
103
  strs_compress_ns = me_config.compress_namespaces.keys.select{|key| !key.is_a?(Regexp) }
104
104
 
data/me-redis.gemspec CHANGED
@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
27
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
28
28
  spec.require_paths = ["lib"]
29
29
 
30
- spec.add_dependency 'redis', '>= 3.0'
30
+ spec.add_dependency 'redis', '>= 3.0', '<= 4.5.1'
31
31
  spec.add_dependency 'base62-rb'
32
32
  spec.add_dependency "awesome_print"
33
33
 
data/ruby3.Dockerfile ADDED
@@ -0,0 +1,7 @@
1
+ FROM ruby:3-bullseye
2
+
3
+ WORKDIR me-redis
4
+
5
+ ADD . /me-redis/
6
+ RUN gem install bundler
7
+ RUN bundle install
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: me-redis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - alekseyl
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-27 00:00:00.000000000 Z
11
+ date: 2022-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.0'
20
+ - - "<="
21
+ - !ruby/object:Gem::Version
22
+ version: 4.5.1
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +27,9 @@ dependencies:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '3.0'
30
+ - - "<="
31
+ - !ruby/object:Gem::Version
32
+ version: 4.5.1
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: base62-rb
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -137,6 +143,7 @@ files:
137
143
  - lib/me_redis/zip_to_hash.rb
138
144
  - lib/me_redis/zip_values.rb
139
145
  - me-redis.gemspec
146
+ - ruby3.Dockerfile
140
147
  homepage: https://github.com/alekseyl/me-redis
141
148
  licenses:
142
149
  - MIT
@@ -157,8 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
164
  - !ruby/object:Gem::Version
158
165
  version: '0'
159
166
  requirements: []
160
- rubyforge_project:
161
- rubygems_version: 2.7.6
167
+ rubygems_version: 3.2.15
162
168
  signing_key:
163
169
  specification_version: 4
164
170
  summary: Memory efficient redis extention