diff --git a/Library/Homebrew/options.rb b/Library/Homebrew/options.rb index a57dafb852..7bfbb6a8ce 100644 --- a/Library/Homebrew/options.rb +++ b/Library/Homebrew/options.rb @@ -106,13 +106,16 @@ class Options when self then arg when Option then new << arg when Array - opts = arg.map do |_arg| - case _arg - when /^-[^-]+$/ then _arg[1..-1].split(//) - else _arg + opts = new + arg.each do |a| + case a + when /^-[^-]+$/ + a[1..-1].split(//).each { |o| opts << Option.new(o) } + else + opts << Option.new(a) end - end.flatten - new(opts.map { |o| Option.new(o) }) + end + opts else raise TypeError, "Cannot convert #{arg.inspect} to Options" end diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb index 01e87c5d64..9669c2af3f 100644 --- a/Library/Homebrew/version.rb +++ b/Library/Homebrew/version.rb @@ -97,7 +97,7 @@ class Version protected def to_a - @array ||= @version.scan(/\d+|[a-zA-Z]+/).map { |e| VersionElement.new(e) } + @array ||= @version.scan(/\d+|[a-zA-Z]+/).map! { |e| VersionElement.new(e) } end def self.parse spec