Simplify DependencyCollector#add
This commit is contained in:
parent
243b14a090
commit
1847595168
@ -25,30 +25,27 @@ class DependencyCollector
|
|||||||
end
|
end
|
||||||
|
|
||||||
def add spec
|
def add spec
|
||||||
case spec
|
tag = nil
|
||||||
when :x11 then @external_deps << X11Dependency.new
|
spec, tag = spec.shift if spec.is_a? Hash
|
||||||
when String then @deps << Dependency.new(spec)
|
|
||||||
when Formula then @deps << Dependency.new(spec.name)
|
dep = case spec
|
||||||
when Dependency then @deps << spec
|
when :x11
|
||||||
when Requirement then @external_deps << spec
|
X11Dependency.new(tag)
|
||||||
when Hash
|
when String
|
||||||
key, value = spec.shift
|
if LANGUAGE_MODULES.include? tag
|
||||||
if key == :x11
|
LanguageModuleDependency.new(tag, spec)
|
||||||
@external_deps << X11Dependency.new(value)
|
|
||||||
else
|
else
|
||||||
case value
|
Dependency.new(spec, tag)
|
||||||
when Array
|
|
||||||
@deps << Dependency.new(key, value)
|
|
||||||
when *LANGUAGE_MODULES
|
|
||||||
@external_deps << LanguageModuleDependency.new(value, key)
|
|
||||||
else
|
|
||||||
# :optional, :recommended, :build, :universal and "32bit" are predefined
|
|
||||||
@deps << Dependency.new(key, [value])
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
when Formula
|
||||||
|
Dependency.new(spec.name, tag)
|
||||||
|
when Dependency, Requirement
|
||||||
|
spec
|
||||||
else
|
else
|
||||||
raise "Unsupported type #{spec.class} for #{spec}"
|
raise "Unsupported type #{spec.class} for #{spec}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
(dep.is_a?(Requirement) ? @external_deps : @deps) << dep
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@ -68,8 +65,11 @@ class Dependency
|
|||||||
|
|
||||||
def initialize name, tags=nil
|
def initialize name, tags=nil
|
||||||
@name = name
|
@name = name
|
||||||
tags = [] if tags == nil
|
@tags = case tags
|
||||||
@tags = tags.each {|s| s.to_s}
|
when Array then tags.each {|s| s.to_s}
|
||||||
|
when nil then []
|
||||||
|
else [tags.to_s]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_s
|
def to_s
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user