Skip to content

Commit 65c58c3

Browse files
committed
set a good default, remove unused methods, speed up checks
1 parent ffa6d74 commit 65c58c3

File tree

1 file changed

+21
-38
lines changed

1 file changed

+21
-38
lines changed

lib/msf/core/opt_bool.rb

Lines changed: 21 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,31 @@
11
# -*- coding: binary -*-
22

33
module Msf
4-
5-
###
6-
#
7-
# Boolean option.
8-
#
9-
###
10-
class OptBool < OptBase
11-
12-
TrueRegex = /^(y|yes|t|1|true)$/i
13-
14-
def type
15-
return 'bool'
16-
end
17-
18-
def valid?(value, check_empty: true)
19-
return false if empty_required_value?(value)
20-
21-
if ((value != nil and
22-
(value.to_s.empty? == false) and
23-
(value.to_s.match(/^(y|yes|n|no|t|f|0|1|true|false)$/i) == nil)))
24-
return false
4+
# Boolean option type
5+
class OptBool < OptBase
6+
TRUE_REGEX = /^(y|yes|t|1|true)$/i
7+
ANY_REGEX = /^(y|yes|n|no|t|f|0|1|true|false)$/i
8+
9+
# This overrides default from 'nil' to 'false'
10+
def initialize(in_name, attrs = [],
11+
required: true, desc: nil, default: false, aliases: [])
12+
super
2513
end
2614

27-
true
28-
end
29-
30-
def normalize(value)
31-
if(value.nil? or value.to_s.match(TrueRegex).nil?)
32-
false
33-
else
34-
true
15+
def type
16+
return 'bool'
3517
end
36-
end
3718

38-
def is_true?(value)
39-
return normalize(value)
40-
end
19+
def valid?(value, check_empty: true)
20+
return false if check_empty && empty_required_value?(value)
21+
!(value.nil? ||
22+
value.to_s.empty? ||
23+
value.to_s.match(ANY_REGEX).nil?)
24+
end
4125

42-
def is_false?(value)
43-
return !is_true?(value)
26+
def normalize(value)
27+
!(value.nil? ||
28+
value.to_s.match(TRUE_REGEX).nil?)
29+
end
4430
end
45-
46-
end
47-
4831
end

0 commit comments

Comments
 (0)