Skip to content
Snippets Groups Projects
Commit 0fb4f9c4 authored by Jack Nagel's avatar Jack Nagel
Browse files

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.
parent 3a072640
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment