summaryrefslogtreecommitdiff
path: root/lib/slop/option.rb
diff options
context:
space:
mode:
authorNobuhiro IMAI <nov@yo.rim.or.jp>2012-02-29 20:59:29 +0900
committerNobuhiro IMAI <nov@yo.rim.or.jp>2012-02-29 20:59:29 +0900
commit681c4578a70137b45913a3fbde2dd125a9786ed2 (patch)
treec9c9ff38edf646fd8af374f35e74b30482353294 /lib/slop/option.rb
parent337ee6af5309cfcecfbace96d0d3c039c05d0698 (diff)
downloadslop-681c4578a70137b45913a3fbde2dd125a9786ed2.tar.gz
consider how options are (un-)specified
Diffstat (limited to 'lib/slop/option.rb')
-rw-r--r--lib/slop/option.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/slop/option.rb b/lib/slop/option.rb
index 1410376..7cb1cba 100644
--- a/lib/slop/option.rb
+++ b/lib/slop/option.rb
@@ -84,8 +84,11 @@ class Slop
#
# Returns the Object once any type conversions have taken place.
def value
- value = @value || config[:default]
- return if value.nil?
+ value = instance_variable_defined?(:@value) ? @value : config[:default]
+ case value
+ when true, false, nil
+ return value
+ end
type = config[:as]
if type.respond_to?(:call)