diff options
| author | Jack Nagel | 2013-02-25 14:01:02 -0600 |
|---|---|---|
| committer | Jack Nagel | 2013-02-25 14:01:02 -0600 |
| commit | aca48deda0f7bbb9831291dbf47ed3c8e4ae2b9c (patch) | |
| tree | cdc7d47a04f1cb1e3c0694c0297ddb1a0c9b2f70 /Library/Homebrew | |
| parent | 6b96102fad11bc627cebc0c3e937e28971c4678c (diff) | |
| download | brew-aca48deda0f7bbb9831291dbf47ed3c8e4ae2b9c.tar.bz2 | |
BuildEnvironment: use separate sets for procs and symbols
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/build_environment.rb | 11 | ||||
| -rw-r--r-- | Library/Homebrew/test/test_build_environment.rb | 6 |
2 files changed, 11 insertions, 6 deletions
diff --git a/Library/Homebrew/build_environment.rb b/Library/Homebrew/build_environment.rb index 60e099977..c10c9fb1c 100644 --- a/Library/Homebrew/build_environment.rb +++ b/Library/Homebrew/build_environment.rb @@ -3,10 +3,14 @@ require 'set' class BuildEnvironment def initialize(*settings) @settings = Set.new(settings) + @procs = Set.new end def <<(o) - @settings << o + case o + when Proc then @procs << o + else @settings << o + end self end @@ -19,12 +23,11 @@ class BuildEnvironment end def modify_build_environment(context=nil) - p = @settings.find { |s| Proc === s } - ENV.instance_exec(context, &p) unless p.nil? + @procs.each { |p| ENV.instance_exec(context, &p) } end def _dump(*) - @settings.dup.reject { |s| Proc === s }.join(":") + @settings.to_a.join(":") end def self._load(s) diff --git a/Library/Homebrew/test/test_build_environment.rb b/Library/Homebrew/test/test_build_environment.rb index 6710662b5..31d3cb1cb 100644 --- a/Library/Homebrew/test/test_build_environment.rb +++ b/Library/Homebrew/test/test_build_environment.rb @@ -21,8 +21,10 @@ class BuildEnvironmentTests < Test::Unit::TestCase end def test_modify_build_environment - @env << Proc.new { 1 } - assert_equal 1, @env.modify_build_environment + @env << Proc.new { raise StandardError } + assert_raises(StandardError) do + @env.modify_build_environment + end end def test_marshal |
