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