module RedisCopy::KeyEmitter
A Key emitter emits keys. This is built to be an abstraction on top of redis.keys(‘*’) (implemented by RedisCopy::KeyEmitter::Default), but should allow smarter implementations to be built that can handle billion-key dbs without blocking on IO.
Public Class Methods
new(redis, ui, options = {})
click to toggle source
@param redis [Redis] @param options [Hash<Symbol:String>] @option options [String] :pattern (‘*’)
# File lib/redis-copy/key-emitter.rb, line 15 def initialize(redis, ui, options = {}) @redis = redis @ui = ui @options = options end
Public Instance Methods
dbsize()
click to toggle source
# File lib/redis-copy/key-emitter.rb, line 31 def dbsize @redis.dbsize end
keys()
click to toggle source
@return [Enumerable<String>]
Calls superclass method
# File lib/redis-copy/key-emitter.rb, line 22 def keys return super if defined?(super) raise NotImplementedError end
pattern()
click to toggle source
# File lib/redis-copy/key-emitter.rb, line 27 def pattern @pattern ||= @options.fetch(:pattern) { '*' } end
to_s()
click to toggle source
# File lib/redis-copy/key-emitter.rb, line 35 def to_s self.class.name.demodulize end