aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorJack Nagel2014-07-07 17:34:30 -0500
committerJack Nagel2014-07-07 17:36:20 -0500
commit879ec967437d76d9b32bbe90d70384874bafbd59 (patch)
tree028cd9942a3eee2e074fe1377a8342460b967208 /Library/Homebrew
parent9e7f5dc2619839a17dbceb01c6708bab7753e73f (diff)
downloadbrew-879ec967437d76d9b32bbe90d70384874bafbd59.tar.bz2
Only store one proc per BuildEnvironment instance
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/build_environment.rb12
-rw-r--r--Library/Homebrew/test/test_build_environment.rb6
2 files changed, 8 insertions, 10 deletions
diff --git a/Library/Homebrew/build_environment.rb b/Library/Homebrew/build_environment.rb
index d46e4bfb2..c7cb7bc0e 100644
--- a/Library/Homebrew/build_environment.rb
+++ b/Library/Homebrew/build_environment.rb
@@ -1,9 +1,10 @@
require 'set'
class BuildEnvironment
+ attr_accessor :proc
+
def initialize(*settings)
@settings = Set.new(settings)
- @procs = Set.new
end
def merge(*args)
@@ -11,10 +12,7 @@ class BuildEnvironment
end
def <<(o)
- case o
- when Proc then @procs << o
- else @settings << o
- end
+ @settings << o
self
end
@@ -27,7 +25,7 @@ class BuildEnvironment
end
def modify_build_environment(receiver)
- @procs.each { |p| receiver.instance_eval(&p) }
+ receiver.instance_eval(&proc)
end
def _dump(*)
@@ -43,7 +41,7 @@ module BuildEnvironmentDSL
def env(*settings, &block)
@env ||= BuildEnvironment.new
if block_given?
- @env << block
+ @env.proc = block
else
@env.merge(settings)
end
diff --git a/Library/Homebrew/test/test_build_environment.rb b/Library/Homebrew/test/test_build_environment.rb
index c2da6d215..9e148a7bc 100644
--- a/Library/Homebrew/test/test_build_environment.rb
+++ b/Library/Homebrew/test/test_build_environment.rb
@@ -21,7 +21,7 @@ class BuildEnvironmentTests < Homebrew::TestCase
end
def test_modify_build_environment
- @env << Proc.new { raise StandardError }
+ @env.proc = Proc.new { raise StandardError }
assert_raises(StandardError) do
@env.modify_build_environment(self)
end
@@ -36,14 +36,14 @@ class BuildEnvironmentTests < Homebrew::TestCase
def test_env_block
foo = mock("foo")
- @env << Proc.new { foo.some_message }
+ @env.proc = Proc.new { foo.some_message }
foo.expects(:some_message)
@env.modify_build_environment(self)
end
def test_env_block_with_argument
foo = mock("foo")
- @env << Proc.new { |x| x.some_message }
+ @env.proc = Proc.new { |x| x.some_message }
foo.expects(:some_message)
@env.modify_build_environment(foo)
end