Module: RedisCopy::Strategy
- Defined in:
- lib/redis-copy/strategy.rb,
lib/redis-copy/strategy/new.rb,
lib/redis-copy/strategy/classic.rb
Defined Under Namespace
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.load(source, destination, ui, options = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/redis-copy/strategy.rb', line 10 def self.load(source, destination, ui, = {}) strategy = .fetch(:strategy, :auto).to_sym new_compatible = [source, destination].all?(&New.method(:compatible?)) copierklass = case strategy when :classic then Classic when :new raise ArgumentError unless new_compatible New when :auto new_compatible ? New : Classic end copierklass.new(source, destination, ui, ) end |
Instance Method Details
#copy(key) ⇒ Boolean
39 40 41 42 |
# File 'lib/redis-copy/strategy.rb', line 39 def copy(key) return super if defined? super raise NotImplementedError end |
#initialize(source, destination, ui, options = {}) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/redis-copy/strategy.rb', line 26 def initialize(source, destination, ui, = {}) @src = source @dst = destination @ui = ui @opt = .dup end |
#to_s ⇒ Object
33 34 35 |
# File 'lib/redis-copy/strategy.rb', line 33 def to_s self.class.name.demodulize.humanize end |