Skip to content

Commit 523ec01

Browse files
committed
♻️ Return number from NumValidator#ensure_* methods
This can simplify some calling code.
1 parent c198fcc commit 523ec01

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

lib/net/imap/data_encoding.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -186,23 +186,23 @@ def valid_mod_sequence_value?(num)
186186

187187
# Ensure argument is 'number' or raise DataFormatError
188188
def ensure_number(num)
189-
return if valid_number?(num)
189+
return num if valid_number?(num)
190190

191191
msg = "number must be unsigned 32-bit integer: #{num}"
192192
raise DataFormatError, msg
193193
end
194194

195195
# Ensure argument is 'nz_number' or raise DataFormatError
196196
def ensure_nz_number(num)
197-
return if valid_nz_number?(num)
197+
return num if valid_nz_number?(num)
198198

199199
msg = "nz_number must be non-zero unsigned 32-bit integer: #{num}"
200200
raise DataFormatError, msg
201201
end
202202

203203
# Ensure argument is 'mod_sequence_value' or raise DataFormatError
204204
def ensure_mod_sequence_value(num)
205-
return if valid_mod_sequence_value?(num)
205+
return num if valid_mod_sequence_value?(num)
206206

207207
msg = "mod_sequence_value must be unsigned 64-bit integer: #{num}"
208208
raise DataFormatError, msg

lib/net/imap/sequence_set.rb

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1406,12 +1406,11 @@ def range_gte_to(num)
14061406
end
14071407

14081408
def nz_number(num)
1409-
case num
1410-
when Integer, /\A[1-9]\d*\z/ then num = Integer(num)
1411-
else raise DataFormatError, "%p is not a valid nz-number" % [num]
1412-
end
1413-
NumValidator.ensure_nz_number(num)
1414-
num
1409+
String === num && !/\A[1-9]\d*\z/.match?(num) and
1410+
raise DataFormatError, "%p is not a valid nz-number" % [num]
1411+
NumValidator.ensure_nz_number Integer num
1412+
rescue TypeError # To catch errors from Integer()
1413+
raise DataFormatError, $!.message
14151414
end
14161415

14171416
# intentionally defined after the class implementation

0 commit comments

Comments
 (0)