module Net::IMAP::NumValidator

Common validators of number and nz_number types

Public Class Methods

ensure_number(num) Show source
# File lib/net/imap.rb, line 1636
def ensure_number(num)
  return if valid_number?(num)

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

Ensure argument is 'number' or raise DataFormatError

ensure_nz_number(num) Show source
# File lib/net/imap.rb, line 1644
def ensure_nz_number(num)
  return if valid_nz_number?(num)

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

Ensure argument is 'nz_number' or raise DataFormatError

valid_number?(num) Show source
# File lib/net/imap.rb, line 1618
def valid_number?(num)
  # [RFC 3501]
  # number          = 1*DIGIT
  #                    ; Unsigned 32-bit integer
  #                    ; (0 <= n < 4,294,967,296)
  num >= 0 && num < 4294967296
end

Check is passed argument valid 'number' in RFC 3501 terminology

valid_nz_number?(num) Show source
# File lib/net/imap.rb, line 1627
def valid_nz_number?(num)
  # [RFC 3501]
  # nz-number       = digit-nz *DIGIT
  #                    ; Non-zero unsigned 32-bit integer
  #                    ; (0 < n < 4,294,967,296)
  num != 0 && valid_number?(num)
end

Check is passed argument valid 'nz_number' in RFC 3501 terminology

Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.