diff options
| author | Jack Nagel | 2013-05-06 16:52:26 -0500 |
|---|---|---|
| committer | Jack Nagel | 2013-05-06 16:52:26 -0500 |
| commit | 8c8837ede5aad1b0fcdbaea401f8be83715e7690 (patch) | |
| tree | e9618b160db132c519f6583a501d11281277276d /Library | |
| parent | 62389cc27456151b8f3be1d064e14412cb907066 (diff) | |
| download | homebrew-8c8837ede5aad1b0fcdbaea401f8be83715e7690.tar.bz2 | |
Avoid extra array allocations
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/options.rb | 15 | ||||
| -rw-r--r-- | Library/Homebrew/version.rb | 2 |
2 files changed, 10 insertions, 7 deletions
diff --git a/Library/Homebrew/options.rb b/Library/Homebrew/options.rb index a57dafb85..7bfbb6a8c 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 01e87c5d6..9669c2af3 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 |
