Options internals no longer need to support switches

This commit is contained in:
Jack Nagel 2014-08-29 19:38:32 -05:00
parent b14851903c
commit 750d7bb2c8
2 changed files with 2 additions and 29 deletions

View File

@ -4,7 +4,8 @@ class Option
attr_reader :name, :description, :flag
def initialize(name, description="")
@name, @flag = split_name(name)
@name = name
@flag = "--#{name}"
@description = description
end
@ -29,19 +30,6 @@ class Option
def inspect
"#<#{self.class.name}: #{flag.inspect}>"
end
private
def split_name(name)
case name
when /^[a-zA-Z]$/
[name, "-#{name}"]
when /^-[a-zA-Z]$/
[name[1..1], name]
else
[name, "--#{name}"]
end
end
end
class Options
@ -51,8 +39,6 @@ class Options
options = new
array.each do |e|
case e
when /^-[^-]+$/
e[1..-1].split(//).each { |o| options << Option.new(o) }
when /^--(.+)$/
options << Option.new($1)
else

View File

@ -23,12 +23,6 @@ class OptionTests < Homebrew::TestCase
assert_empty @option.description
assert_equal "foo", Option.new("foo", "foo").description
end
def test_preserves_short_options
option = Option.new("-d")
assert_equal "-d", option.flag
assert_equal "d", option.name
end
end
class OptionsTests < Homebrew::TestCase
@ -108,11 +102,4 @@ class OptionsTests < Homebrew::TestCase
option2 = Option.new("bar")
assert_equal [option1, option2].sort, Options.create(array).sort
end
def test_create_splits_multiple_switches_with_single_dash
array = %w{-vd}
verbose = Option.new("-v")
debug = Option.new("-d")
assert_equal [verbose, debug].sort, Options.create(array).sort
end
end