diff options
| author | Mike McQuaid | 2015-12-14 19:47:19 +0000 |
|---|---|---|
| committer | Mike McQuaid | 2015-12-15 08:37:16 +0000 |
| commit | e5ba31fcdcc4150e5aa8ecf110cfa502dd62a802 (patch) | |
| tree | f8075f55b40693a89eec8a5b6e0fe3409f8df64a /Library/Homebrew/dependency.rb | |
| parent | 484c70d19ff17944e4926e7ad3f9bc0fad98797a (diff) | |
| download | brew-e5ba31fcdcc4150e5aa8ecf110cfa502dd62a802.tar.bz2 | |
Allow multiple option_names in dep/reqs.
This means that dependencies can be merged but still maintain all
their option names.
Closes Homebrew/homebrew#46916.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library/Homebrew/dependency.rb')
| -rw-r--r-- | Library/Homebrew/dependency.rb | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Library/Homebrew/dependency.rb b/Library/Homebrew/dependency.rb index fbe0fa903..a3b9d7b51 100644 --- a/Library/Homebrew/dependency.rb +++ b/Library/Homebrew/dependency.rb @@ -4,15 +4,15 @@ require "dependable" class Dependency include Dependable - attr_reader :name, :tags, :env_proc, :option_name + attr_reader :name, :tags, :env_proc, :option_names DEFAULT_ENV_PROC = proc {} - def initialize(name, tags = [], env_proc = DEFAULT_ENV_PROC, option_name = name) + def initialize(name, tags = [], env_proc = DEFAULT_ENV_PROC, option_names = [name]) @name = name @tags = tags @env_proc = env_proc - @option_name = option_name + @option_names = option_names end def to_s @@ -125,7 +125,8 @@ class Dependency deps = grouped.fetch(name) dep = deps.first tags = deps.flat_map(&:tags).uniq - dep.class.new(name, tags, dep.env_proc) + option_names = deps.flat_map(&:option_names).uniq + dep.class.new(name, tags, dep.env_proc, option_names) end end end @@ -134,9 +135,9 @@ end class TapDependency < Dependency attr_reader :tap - def initialize(name, tags = [], env_proc = DEFAULT_ENV_PROC, option_name = name.split("/").last) + def initialize(name, tags = [], env_proc = DEFAULT_ENV_PROC, option_names = [name.split("/").last]) @tap = name.rpartition("/").first - super(name, tags, env_proc, option_name) + super(name, tags, env_proc, option_names) end def installed? |
