diff options
| author | Jack Nagel | 2014-02-27 14:22:43 -0600 |
|---|---|---|
| committer | Jack Nagel | 2014-02-27 14:22:43 -0600 |
| commit | 1981e78eb2fe7231c999edf86c862597320ec5fe (patch) | |
| tree | 15dfee9382d1a31f228a8635c3bbb73813d3e039 /Library/Homebrew/dependency.rb | |
| parent | 793d6de6c3211ffea112770081e788e760806366 (diff) | |
| download | brew-1981e78eb2fe7231c999edf86c862597320ec5fe.tar.bz2 | |
Eliminate mutation of Dependency objects
Diffstat (limited to 'Library/Homebrew/dependency.rb')
| -rw-r--r-- | Library/Homebrew/dependency.rb | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/Library/Homebrew/dependency.rb b/Library/Homebrew/dependency.rb index 02d981b01..f2da14a06 100644 --- a/Library/Homebrew/dependency.rb +++ b/Library/Homebrew/dependency.rb @@ -4,12 +4,15 @@ require 'dependable' class Dependency include Dependable - attr_reader :name, :tags - attr_accessor :env_proc, :option_name + attr_reader :name, :tags, :env_proc, :option_name - def initialize(name, tags=[]) - @name = @option_name = name + DEFAULT_ENV_PROC = proc {} + + def initialize(name, tags=[], env_proc=DEFAULT_ENV_PROC, option_name=name) + @name = name @tags = tags + @env_proc = env_proc + @option_name = option_name end def to_s @@ -47,10 +50,6 @@ class Dependency missing end - def universal! - tags << 'universal' if to_formula.build.has_option? 'universal' - end - def modify_build_environment env_proc.call unless env_proc.nil? end @@ -127,9 +126,7 @@ class Dependency deps.uniq.map do |dep| tags = grouped.fetch(dep.name).map(&:tags).flatten.uniq - merged_dep = dep.class.new(dep.name, tags) - merged_dep.env_proc = dep.env_proc - merged_dep + dep.class.new(dep.name, tags, dep.env_proc) end end end |
