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 | 
