From ac8b115d0fc9c7fef419840ea17ca70b492f2562 Mon Sep 17 00:00:00 2001 From: Thibault Jouan Date: Tue, 12 May 2015 17:56:27 +0000 Subject: [PATCH] Refactor CLI#option_parser --- lib/producer/core/cli.rb | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lib/producer/core/cli.rb b/lib/producer/core/cli.rb index fdd1e7b..f15448c 100644 --- a/lib/producer/core/cli.rb +++ b/lib/producer/core/cli.rb @@ -93,23 +93,20 @@ module Producer opts.separator '' opts.separator 'options:' - opts.on '-v', '--verbose', 'enable verbose mode' do - env.verbose = true - end - - opts.on '-d', '--debug', 'enable debug mode' do - env.debug = true - end - - opts.on '-n', '--dry-run', 'enable dry run mode' do - env.dry_run = true - end - + option_parser_add_boolean_options opts opts.on '-t', '--target HOST', 'target host' do |e| env.target = e end end end + + def option_parser_add_boolean_options(opts) + { v: 'verbose', d: 'debug', n: 'dry run' }.each do |k, v| + opts.on "-#{k}", "--#{v.tr ' ', '-'}", "enable #{v} mode" do + env.send "#{v.tr ' ', '_'}=", true + end + end + end end end end