From e28fbcf19c9e1b6d8875be680c6bb4f40ab0c21c Mon Sep 17 00:00:00 2001 From: Hansuk Date: Fri, 17 Jan 2020 10:45:22 +0900 Subject: admit comments - https://github.com/leejarvis/slop/pull/250#discussion_r367361652 - https://github.com/leejarvis/slop/pull/250#discussion_r367420001 Signed-off-by: Hansuk --- lib/slop/types.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/slop/types.rb b/lib/slop/types.rb index c1055ea..c53319c 100644 --- a/lib/slop/types.rb +++ b/lib/slop/types.rb @@ -51,8 +51,10 @@ module Slop # Cast the option argument to a Float. class FloatOption < Option + FLOAT_STRING_REGEXP = /\A[+-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?\z/.freeze + def call(value) - value =~ /\A[+-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+-]?\d+)?\z/ && value.to_f + value =~ FLOAT_STRING_REGEXP && value.to_f end end -- cgit v1.2.1