lib/redis-copy/cli.rb in redis-copy-0.0.3 vs lib/redis-copy/cli.rb in redis-copy-0.0.5
- old
+ new
@@ -8,14 +8,16 @@
REDIS_URI = (/\A(?:redis:\/\/)?([a-z0-9\-.]+)(:[0-9]{1,5})?(\/(?:(?:1[0-5])|[0-9]))?\z/i).freeze
DEFAULTS = {
ui: :command_line,
key_emitter: :default,
strategy: :auto,
+ verify: 0,
pipeline: :true,
fail_fast: false,
prompt: true,
trace: false,
+ debug: false,
allow_nonempty: false,
}.freeze unless defined?(DEFAULTS)
def initialize(argv = ARGV)
argv = argv.dup
@@ -62,11 +64,24 @@
opts.on('-f', '--[no-]fail-fast', "Abort on first failure (default #{DEFAULTS[:fail_fast]})") do |ff|
options[:fail_fast] = ff
end
- opts.on('--[no-]prompt', "Prompt for confirmation (default #{DEFAULTS[:prompt]})") do
- options[:prompt] = true
+ opts.on('--[no-]verify [PERCENT]',
+ "Verify percentage of transfers -- VERY SLOW (default #{DEFAULTS[:verify]})"
+ ) do |verify|
+ options[:verify] = case verify
+ when /\A1?[0-9]{2}\z/
+ verify.to_i
+ when false, 'false', 'none'
+ 0
+ else
+ 100
+ end
+ end
+
+ opts.on('--[no-]prompt', "Prompt for confirmation (default #{DEFAULTS[:prompt]})") do |prompt|
+ options[:prompt] = prompt
end
opts.on('--[no-]allow-nonempty', "Allow non-empty destination (default #{DEFAULTS[:allow_nonempty]})") do |allow_nonempty|
options[:allow_nonempty] = allow_nonempty
end