From 285f8f77e6816cb3a0694455813b5cf2dc50e9bd Mon Sep 17 00:00:00 2001
From: Jack Nagel <jacknagel@gmail.com>
Date: Thu, 9 Oct 2014 00:20:15 -0500
Subject: [PATCH] Tab#with? accepts the same types as BuildOptions#with?

---
 Library/Homebrew/build_options.rb | 6 +-----
 Library/Homebrew/cmd/leaves.rb    | 2 +-
 Library/Homebrew/cmd/missing.rb   | 2 +-
 Library/Homebrew/tab.rb           | 3 ++-
 4 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/Library/Homebrew/build_options.rb b/Library/Homebrew/build_options.rb
index d880c76eb7..64ca931736 100644
--- a/Library/Homebrew/build_options.rb
+++ b/Library/Homebrew/build_options.rb
@@ -9,11 +9,7 @@ class BuildOptions
   end
 
   def with? val
-    if val.respond_to?(:option_name)
-      name = val.option_name
-    else
-      name = val
-    end
+    name = val.respond_to?(:option_name) ? val.option_name : val
 
     if option_defined? "with-#{name}"
       include? "with-#{name}"
diff --git a/Library/Homebrew/cmd/leaves.rb b/Library/Homebrew/cmd/leaves.rb
index 4b1757ad00..64387342f0 100644
--- a/Library/Homebrew/cmd/leaves.rb
+++ b/Library/Homebrew/cmd/leaves.rb
@@ -13,7 +13,7 @@ module Homebrew
 
       f.deps.each do |dep|
         if dep.optional? || dep.recommended?
-          deps << dep.to_formula.name if tab.with?(dep.to_formula.name)
+          deps << dep.to_formula.name if tab.with?(dep)
         else
           deps << dep.to_formula.name
         end
diff --git a/Library/Homebrew/cmd/missing.rb b/Library/Homebrew/cmd/missing.rb
index 6863699127..67d10d11fd 100644
--- a/Library/Homebrew/cmd/missing.rb
+++ b/Library/Homebrew/cmd/missing.rb
@@ -8,7 +8,7 @@ module Homebrew
       missing_deps = f.recursive_dependencies do |dependent, dep|
         if dep.optional? || dep.recommended?
           tab = Tab.for_formula(dependent)
-          Dependency.prune unless tab.with?(dep.name)
+          Dependency.prune unless tab.with?(dep)
         elsif dep.build?
           Dependency.prune
         end
diff --git a/Library/Homebrew/tab.rb b/Library/Homebrew/tab.rb
index c295fe90e5..ea619d57c4 100644
--- a/Library/Homebrew/tab.rb
+++ b/Library/Homebrew/tab.rb
@@ -81,7 +81,8 @@ class Tab < OpenStruct
             :compiler => :clang
   end
 
-  def with? name
+  def with? val
+    name = val.respond_to?(:option_name) ? val.option_name : val
     include?("with-#{name}") || unused_options.include?("without-#{name}")
   end
 
-- 
GitLab