From 094f6f47ddcb3cabc30ed935a4be4cf855c94e73 Mon Sep 17 00:00:00 2001
From: Andrew Janke <andrew@apjanke.net>
Date: Wed, 20 Apr 2016 02:17:28 -0400
Subject: [PATCH] Formula: include bad value in invalid-option error message

Makes identifying which line in a formula has the bad use of 'option' easier.

Closes #120.

Signed-off-by: Andrew Janke <andrew@apjanke.net>
---
 Library/Homebrew/software_spec.rb | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb
index 0720fab3da..6477dfd560 100644
--- a/Library/Homebrew/software_spec.rb
+++ b/Library/Homebrew/software_spec.rb
@@ -122,9 +122,12 @@ class SoftwareSpec
         puts "Symbols are reserved for future use, please pass a string instead"
         name = name.to_s
       end
+      unless String === name
+        raise ArgumentError, "option name must be string or symbol; got a #{name.class}: #{name}"
+      end
       raise ArgumentError, "option name is required" if name.empty?
-      raise ArgumentError, "option name must be longer than one character" unless name.length > 1
-      raise ArgumentError, "option name must not start with dashes" if name.start_with?("-")
+      raise ArgumentError, "option name must be longer than one character: #{name}" unless name.length > 1
+      raise ArgumentError, "option name must not start with dashes: #{name}" if name.start_with?("-")
       Option.new(name, description)
     end
     options << opt
-- 
GitLab