From 70e1de88583b934e583aad2b7c2bbffda4a4ea57 Mon Sep 17 00:00:00 2001 From: Laurent B Date: Mon, 1 May 2017 15:29:39 +0200 Subject: Add config option underscore_flags The default behaviour of translation flags-with-dashes is to underscore them so they're symbol friendly. This config option allows us to avoid this translation and simply return the flags verbatim: opts = Slop.parse(underscore_flags: false) do |o| o.on "--foo-bar" end opts.to_hash #=> { :"foo-bar" => true } closes #204 --- test/option_test.rb | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'test') diff --git a/test/option_test.rb b/test/option_test.rb index 78fd55e..a8db657 100644 --- a/test/option_test.rb +++ b/test/option_test.rb @@ -21,6 +21,10 @@ describe Slop::Option do assert_equal :foo_bar, option(%w(-f --foo-bar), nil).key end + it "when specified, it won't convert dashes to underscores to make multi-word options symbol-friendly" do + assert_equal :'foo-bar', option(%w(-f --foo-bar), nil, underscore_flags: false).key + end + it "can be overridden" do assert_equal :bar, option(%w(-f --foo), nil, key: "bar").key end -- cgit v1.2.1