redis-cluster-client 0.3.14 → 0.3.15
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 +4 -4
 - data/lib/redis_client/cluster/node.rb +1 -1
 - data/lib/redis_client/cluster/router.rb +12 -10
 - metadata +7 -7
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: c0492c31a84cc5a5982973891f9c305d67d6121f03fb12fef76b7045a8960421
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: e2531e6b21591974103c794cea27fa7383fb3c7aef27ab08850d7468bc6555c0
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 472a05c3122f7847df1fa316ac1e20722abb5c34a299daf2dee71cc71a3cf74437100f97c9ed2105a105b517bdf01066a8702296182126a232d5b7cc463caac0
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 9c5bfa33629d5ec005e20c8672748967796a150a190a7aa9de46f11225731b0cec6ce02b6e00b7b94ba1703d5bd103e584d538ccf5219a10c713fbc206f07598
         
     | 
| 
         @@ -285,7 +285,7 @@ class RedisClient 
     | 
|
| 
       285 
285 
     | 
    
         | 
| 
       286 
286 
     | 
    
         
             
                  def call_multiple_nodes(clients, method, command, args, &block)
         
     | 
| 
       287 
287 
     | 
    
         
             
                    results, errors = try_map(clients) do |_, client|
         
     | 
| 
       288 
     | 
    
         
            -
                      client. 
     | 
| 
      
 288 
     | 
    
         
            +
                      client.public_send(method, *args, command, &block)
         
     | 
| 
       289 
289 
     | 
    
         
             
                    end
         
     | 
| 
       290 
290 
     | 
    
         | 
| 
       291 
291 
     | 
    
         
             
                    [results&.values, errors]
         
     | 
| 
         @@ -68,9 +68,9 @@ class RedisClient 
     | 
|
| 
       68 
68 
     | 
    
         
             
                  def try_send(node, method, command, args, retry_count: 3, &block) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
         
     | 
| 
       69 
69 
     | 
    
         
             
                    if args.empty?
         
     | 
| 
       70 
70 
     | 
    
         
             
                      # prevent memory allocation for variable-length args
         
     | 
| 
       71 
     | 
    
         
            -
                      node. 
     | 
| 
      
 71 
     | 
    
         
            +
                      node.public_send(method, command, &block)
         
     | 
| 
       72 
72 
     | 
    
         
             
                    else
         
     | 
| 
       73 
     | 
    
         
            -
                      node. 
     | 
| 
      
 73 
     | 
    
         
            +
                      node.public_send(method, *args, command, &block)
         
     | 
| 
       74 
74 
     | 
    
         
             
                    end
         
     | 
| 
       75 
75 
     | 
    
         
             
                  rescue ::RedisClient::CommandError => e
         
     | 
| 
       76 
76 
     | 
    
         
             
                    raise if retry_count <= 0
         
     | 
| 
         @@ -101,7 +101,7 @@ class RedisClient 
     | 
|
| 
       101 
101 
     | 
    
         
             
                  end
         
     | 
| 
       102 
102 
     | 
    
         | 
| 
       103 
103 
     | 
    
         
             
                  def try_delegate(node, method, *args, retry_count: 3, **kwargs, &block) # rubocop:disable Metrics/AbcSize
         
     | 
| 
       104 
     | 
    
         
            -
                    node. 
     | 
| 
      
 104 
     | 
    
         
            +
                    node.public_send(method, *args, **kwargs, &block)
         
     | 
| 
       105 
105 
     | 
    
         
             
                  rescue ::RedisClient::CommandError => e
         
     | 
| 
       106 
106 
     | 
    
         
             
                    raise if retry_count <= 0
         
     | 
| 
       107 
107 
     | 
    
         | 
| 
         @@ -214,7 +214,7 @@ class RedisClient 
     | 
|
| 
       214 
214 
     | 
    
         
             
                    case ::RedisClient::Cluster::NormalizedCmdName.instance.get_by_subcommand(command)
         
     | 
| 
       215 
215 
     | 
    
         
             
                    when 'resetstat', 'rewrite', 'set'
         
     | 
| 
       216 
216 
     | 
    
         
             
                      @node.call_all(method, command, args, &block).first
         
     | 
| 
       217 
     | 
    
         
            -
                    else assign_node(command). 
     | 
| 
      
 217 
     | 
    
         
            +
                    else assign_node(command).public_send(method, *args, command, &block)
         
     | 
| 
       218 
218 
     | 
    
         
             
                    end
         
     | 
| 
       219 
219 
     | 
    
         
             
                  end
         
     | 
| 
       220 
220 
     | 
    
         | 
| 
         @@ -222,7 +222,7 @@ class RedisClient 
     | 
|
| 
       222 
222 
     | 
    
         
             
                    case ::RedisClient::Cluster::NormalizedCmdName.instance.get_by_subcommand(command)
         
     | 
| 
       223 
223 
     | 
    
         
             
                    when 'stats' then @node.call_all(method, command, args, &block)
         
     | 
| 
       224 
224 
     | 
    
         
             
                    when 'purge' then @node.call_all(method, command, args, &block).first
         
     | 
| 
       225 
     | 
    
         
            -
                    else assign_node(command). 
     | 
| 
      
 225 
     | 
    
         
            +
                    else assign_node(command).public_send(method, *args, command, &block)
         
     | 
| 
       226 
226 
     | 
    
         
             
                    end
         
     | 
| 
       227 
227 
     | 
    
         
             
                  end
         
     | 
| 
       228 
228 
     | 
    
         | 
| 
         @@ -231,7 +231,7 @@ class RedisClient 
     | 
|
| 
       231 
231 
     | 
    
         
             
                    when 'list' then @node.call_all(method, command, args, &block).flatten
         
     | 
| 
       232 
232 
     | 
    
         
             
                    when 'pause', 'reply', 'setname'
         
     | 
| 
       233 
233 
     | 
    
         
             
                      @node.call_all(method, command, args, &block).first
         
     | 
| 
       234 
     | 
    
         
            -
                    else assign_node(command). 
     | 
| 
      
 234 
     | 
    
         
            +
                    else assign_node(command).public_send(method, *args, command, &block)
         
     | 
| 
       235 
235 
     | 
    
         
             
                    end
         
     | 
| 
       236 
236 
     | 
    
         
             
                  end
         
     | 
| 
       237 
237 
     | 
    
         | 
| 
         @@ -244,8 +244,8 @@ class RedisClient 
     | 
|
| 
       244 
244 
     | 
    
         
             
                    when 'getkeysinslot'
         
     | 
| 
       245 
245 
     | 
    
         
             
                      raise ArgumentError, command.join(' ') if command.size != 4
         
     | 
| 
       246 
246 
     | 
    
         | 
| 
       247 
     | 
    
         
            -
                      find_node(@node.find_node_key_of_replica(command[2])). 
     | 
| 
       248 
     | 
    
         
            -
                    else assign_node(command). 
     | 
| 
      
 247 
     | 
    
         
            +
                      find_node(@node.find_node_key_of_replica(command[2])).public_send(method, *args, command, &block)
         
     | 
| 
      
 248 
     | 
    
         
            +
                    else assign_node(command).public_send(method, *args, command, &block)
         
     | 
| 
       249 
249 
     | 
    
         
             
                    end
         
     | 
| 
       250 
250 
     | 
    
         
             
                  end
         
     | 
| 
       251 
251 
     | 
    
         | 
| 
         @@ -255,7 +255,9 @@ class RedisClient 
     | 
|
| 
       255 
255 
     | 
    
         
             
                      @node.call_all(method, command, args, &block).first
         
     | 
| 
       256 
256 
     | 
    
         
             
                    when 'flush', 'load'
         
     | 
| 
       257 
257 
     | 
    
         
             
                      @node.call_primaries(method, command, args, &block).first
         
     | 
| 
       258 
     | 
    
         
            -
                     
     | 
| 
      
 258 
     | 
    
         
            +
                    when 'exists'
         
     | 
| 
      
 259 
     | 
    
         
            +
                      @node.call_all(method, command, args, &block).transpose.map { |arr| arr.any?(&:zero?) ? 0 : 1 }
         
     | 
| 
      
 260 
     | 
    
         
            +
                    else assign_node(command).public_send(method, *args, command, &block)
         
     | 
| 
       259 
261 
     | 
    
         
             
                    end
         
     | 
| 
       260 
262 
     | 
    
         
             
                  end
         
     | 
| 
       261 
263 
     | 
    
         | 
| 
         @@ -266,7 +268,7 @@ class RedisClient 
     | 
|
| 
       266 
268 
     | 
    
         
             
                      @node.call_all(method, command, args, &block).reject(&:empty?).map { |e| Hash[*e] }
         
     | 
| 
       267 
269 
     | 
    
         
             
                           .reduce({}) { |a, e| a.merge(e) { |_, v1, v2| v1 + v2 } }
         
     | 
| 
       268 
270 
     | 
    
         
             
                    when 'numpat' then @node.call_all(method, command, args, &block).select { |e| e.is_a?(Integer) }.sum
         
     | 
| 
       269 
     | 
    
         
            -
                    else assign_node(command). 
     | 
| 
      
 271 
     | 
    
         
            +
                    else assign_node(command).public_send(method, *args, command, &block)
         
     | 
| 
       270 
272 
     | 
    
         
             
                    end
         
     | 
| 
       271 
273 
     | 
    
         
             
                  end
         
     | 
| 
       272 
274 
     | 
    
         | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,29 +1,29 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: redis-cluster-client
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.3. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.3.15
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Taishi Kasuga
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2022- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2022-12-21 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: redis-client
         
     | 
| 
       15 
15 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       16 
16 
     | 
    
         
             
                requirements:
         
     | 
| 
       17 
     | 
    
         
            -
                - - " 
     | 
| 
      
 17 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       18 
18 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       19 
     | 
    
         
            -
                    version: '0. 
     | 
| 
      
 19 
     | 
    
         
            +
                    version: '0.11'
         
     | 
| 
       20 
20 
     | 
    
         
             
              type: :runtime
         
     | 
| 
       21 
21 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       22 
22 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       23 
23 
     | 
    
         
             
                requirements:
         
     | 
| 
       24 
     | 
    
         
            -
                - - " 
     | 
| 
      
 24 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
       25 
25 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       26 
     | 
    
         
            -
                    version: '0. 
     | 
| 
      
 26 
     | 
    
         
            +
                    version: '0.11'
         
     | 
| 
       27 
27 
     | 
    
         
             
            description:
         
     | 
| 
       28 
28 
     | 
    
         
             
            email:
         
     | 
| 
       29 
29 
     | 
    
         
             
            - proxy0721@gmail.com
         
     | 
| 
         @@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       69 
69 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       70 
70 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       71 
71 
     | 
    
         
             
            requirements: []
         
     | 
| 
       72 
     | 
    
         
            -
            rubygems_version: 3.3. 
     | 
| 
      
 72 
     | 
    
         
            +
            rubygems_version: 3.3.23
         
     | 
| 
       73 
73 
     | 
    
         
             
            signing_key:
         
     | 
| 
       74 
74 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       75 
75 
     | 
    
         
             
            summary: A Redis cluster client for Ruby
         
     |