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.
This commit is contained in:
parent
3a0726406b
commit
0fb4f9c426
@ -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)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user