Module: Net::IMAP::NumValidator
- Defined in:
- lib/net/imap.rb
Overview
Common validators of number and nz_number types
Class Method Summary collapse
-
.ensure_mod_sequence_value(num) ⇒ Object
Ensure argument is ‘mod_sequence_value’ or raise DataFormatError.
-
.ensure_number(num) ⇒ Object
Ensure argument is ‘number’ or raise DataFormatError.
-
.ensure_nz_number(num) ⇒ Object
Ensure argument is ‘nz_number’ or raise DataFormatError.
-
.valid_mod_sequence_value?(num) ⇒ Boolean
Check is passed argument valid ‘mod_sequence_value’ in RFC 4551 terminology.
-
.valid_number?(num) ⇒ Boolean
Check is passed argument valid ‘number’ in RFC 3501 terminology.
-
.valid_nz_number?(num) ⇒ Boolean
Check is passed argument valid ‘nz_number’ in RFC 3501 terminology.
Class Method Details
.ensure_mod_sequence_value(num) ⇒ Object
Ensure argument is ‘mod_sequence_value’ or raise DataFormatError
1708 1709 1710 1711 1712 1713 |
# File 'lib/net/imap.rb', line 1708 def ensure_mod_sequence_value(num) return if valid_mod_sequence_value?(num) msg = "mod_sequence_value must be unsigned 64-bit integer: #{num}" raise DataFormatError, msg end |
.ensure_number(num) ⇒ Object
Ensure argument is ‘number’ or raise DataFormatError
1692 1693 1694 1695 1696 1697 |
# File 'lib/net/imap.rb', line 1692 def ensure_number(num) return if valid_number?(num) msg = "number must be unsigned 32-bit integer: #{num}" raise DataFormatError, msg end |
.ensure_nz_number(num) ⇒ Object
Ensure argument is ‘nz_number’ or raise DataFormatError
1700 1701 1702 1703 1704 1705 |
# File 'lib/net/imap.rb', line 1700 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 |
.valid_mod_sequence_value?(num) ⇒ Boolean
Check is passed argument valid ‘mod_sequence_value’ in RFC 4551 terminology
1683 1684 1685 1686 1687 1688 1689 |
# File 'lib/net/imap.rb', line 1683 def valid_mod_sequence_value?(num) # mod-sequence-value = 1*DIGIT # ; Positive unsigned 64-bit integer # ; (mod-sequence) # ; (1 <= n < 18,446,744,073,709,551,615) num >= 1 && num < 18446744073709551615 end |
.valid_number?(num) ⇒ Boolean
Check is passed argument valid ‘number’ in RFC 3501 terminology
1665 1666 1667 1668 1669 1670 1671 |
# File 'lib/net/imap.rb', line 1665 def valid_number?(num) # [RFC 3501] # number = 1*DIGIT # ; Unsigned 32-bit integer # ; (0 <= n < 4,294,967,296) num >= 0 && num < 4294967296 end |
.valid_nz_number?(num) ⇒ Boolean
Check is passed argument valid ‘nz_number’ in RFC 3501 terminology
1674 1675 1676 1677 1678 1679 1680 |
# File 'lib/net/imap.rb', line 1674 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 |