123456789_123456789_123456789_123456789_123456789_

Module: Net::IMAP::StringPrep::NamePrep

Relationships & Source Files
Defined in: lib/net/imap/stringprep/nameprep.rb

Overview

Defined in RFC3491, the .nameprep profile of “Stringprep” is:

used by the IDNA protocol for preparing domain names; it is not designed for any other purpose. It is explicitly not designed for processing arbitrary free text and SHOULD NOT be used for that purpose.

This profile specifies prohibiting using the following tables…:

  • C.1.2 (Non-ASCII space characters)

  • C.2.2 (Non-ASCII control characters)

  • C.3 (Private use characters)

  • C.4 (Non-character code points)

  • C.5 (Surrogate codes)

  • C.6 (Inappropriate for plain text)

  • C.7 (Inappropriate for canonical representation)

  • C.8 (Change display properties are deprecated)

  • C.9 (Tagging characters)

IMPORTANT NOTE: This profile MUST be used with the IDNA protocol. The IDNA protocol has additional prohibitions that are checked outside of this profile.

Constant Summary

Class Method Summary

Class Method Details

.nameprep(string, **opts) (mod_func)

[ GitHub ]

  
# File 'lib/net/imap/stringprep/nameprep.rb', line 54

def nameprep(string, **opts)
  StringPrep.stringprep(
    string,
    unassigned:    UNASSIGNED_TABLE,
    maps:          MAPPING_TABLES,
    prohibited:    PROHIBITED_TABLES,
    normalization: NORMALIZATION,
    bidi:          CHECK_BIDI,
    profile:       STRINGPREP_PROFILE,
    **opts,
  )
end