mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
58 lines
716 B
Ruby
58 lines
716 B
Ruby
class Dependencies
|
|
include Enumerable
|
|
|
|
def initialize(*args)
|
|
@deps = Array.new(*args)
|
|
end
|
|
|
|
def each(*args, &block)
|
|
@deps.each(*args, &block)
|
|
end
|
|
|
|
def <<(o)
|
|
@deps << o unless @deps.include? o
|
|
self
|
|
end
|
|
|
|
def empty?
|
|
@deps.empty?
|
|
end
|
|
|
|
def *(arg)
|
|
@deps * arg
|
|
end
|
|
|
|
def to_a
|
|
@deps
|
|
end
|
|
alias_method :to_ary, :to_a
|
|
|
|
def optional
|
|
select(&:optional?)
|
|
end
|
|
|
|
def recommended
|
|
select(&:recommended?)
|
|
end
|
|
|
|
def build
|
|
select(&:build?)
|
|
end
|
|
|
|
def required
|
|
select(&:required?)
|
|
end
|
|
|
|
def default
|
|
build + required + recommended
|
|
end
|
|
|
|
attr_reader :deps
|
|
protected :deps
|
|
|
|
def ==(other)
|
|
deps == other.deps
|
|
end
|
|
alias_method :eql?, :==
|
|
end
|