summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorsigurdsvela <sigurdbergsvela@gmail.com>2015-04-06 23:13:46 +0200
committersigurdsvela <sigurdbergsvela@gmail.com>2015-04-06 23:13:46 +0200
commit48d1aec2c4a42493ea06da0302538dc9ac834695 (patch)
tree32cc2e91f5aede4371a1bab414be243589011ff5 /lib
parent877946b0a16607bec39dcd437d30e7bb0afa4600 (diff)
downloadslop-48d1aec2c4a42493ea06da0302538dc9ac834695.tar.gz
Implement getUnknownMessage in UnknownOption
This allows to retrive the unknown option in question when catching the error. This can be useful to, for example, taylor a spesific output for common errors amongst users.
Diffstat (limited to 'lib')
-rw-r--r--lib/slop/error.rb11
-rw-r--r--lib/slop/parser.rb2
2 files changed, 11 insertions, 2 deletions
diff --git a/lib/slop/error.rb b/lib/slop/error.rb
index 55e0fe0..776b939 100644
--- a/lib/slop/error.rb
+++ b/lib/slop/error.rb
@@ -16,5 +16,14 @@ module Slop
# Raised when an unknown option is parsed. Suppress
# with the `suppress_errors` config option.
- class UnknownOption < Error; end
+ class UnknownOption < Error;
+ def initialize(msg, unknownOption)
+ super(msg);
+ @unknownOption = unknownOption;
+ end
+
+ def getUnknowOption()
+ return @unknownOption;
+ end
+ end
end
diff --git a/lib/slop/parser.rb b/lib/slop/parser.rb
index 246da9f..8474e5d 100644
--- a/lib/slop/parser.rb
+++ b/lib/slop/parser.rb
@@ -102,7 +102,7 @@ module Slop
try_process(last, arg) # send the argument to the last flag
else
if flag.start_with?("-") && !suppress_errors?
- raise UnknownOption, "unknown option `#{flag}'"
+ raise UnknownOption.new "unknown option `#{flag}'", "#{flag}"
end
end
end