diff options
| author | Jack Nagel | 2013-04-16 03:31:29 -0500 |
|---|---|---|
| committer | Jack Nagel | 2013-04-16 09:53:02 -0500 |
| commit | 0fb4f9c42678aeade936941af26f2e87ddfe7d46 (patch) | |
| tree | a90addf3126f2196cc7abac44807890024fbeaa9 | |
| parent | 3a0726406bf3482cdfb5d992ee29b1aefde363ea (diff) | |
| download | brew-0fb4f9c42678aeade936941af26f2e87ddfe7d46.tar.bz2 | |
Reduce repeated array inclusion check
Currently we check if "tag" is present in LANGUAGE_MODULES for every
String dep, even if tag is nil. Stop doing this, and make the
LANGUAGE_MODULES array into a Set instead to improve lookup performance.
| -rw-r--r-- | Library/Homebrew/dependency_collector.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Library/Homebrew/dependency_collector.rb b/Library/Homebrew/dependency_collector.rb index 0c423cd09..22f690a8c 100644 --- a/Library/Homebrew/dependency_collector.rb +++ b/Library/Homebrew/dependency_collector.rb @@ -2,6 +2,7 @@ require 'dependency' require 'dependencies' require 'requirement' require 'requirements' +require 'set' ## A dependency is a formula that another formula needs to install. ## A requirement is something other than a formula that another formula @@ -15,7 +16,7 @@ require 'requirements' # specifications into the proper kinds of dependencies and requirements. class DependencyCollector # Define the languages that we can handle as external dependencies. - LANGUAGE_MODULES = [ + LANGUAGE_MODULES = Set[ :chicken, :jruby, :lua, :node, :ocaml, :perl, :python, :rbx, :ruby ].freeze @@ -52,7 +53,7 @@ class DependencyCollector when Symbol parse_symbol_spec(spec, tag) when String - if LANGUAGE_MODULES.include? tag + if tag && LANGUAGE_MODULES.include?(tag) LanguageModuleDependency.new(tag, spec) else Dependency.new(spec, tag) |
