Module: Mail::Constants

Included in:
Encodings
Defined in:
lib/mail/constants.rb

Constant Summary collapse

LAX_CRLF =
/\r?\n/
WSP =
/[#{white_space}]/
FWS =
/#{LAX_CRLF}#{WSP}*/
UNFOLD_WS =
/#{LAX_CRLF}(#{WSP})/m
TEXT =

+ obs-text

/[#{text}]/
FIELD_NAME =
/[#{field_name}]+/
FIELD_PREFIX =
/\A(#{FIELD_NAME})/
FIELD_BODY =
/.+/m
FIELD_LINE =
/^[#{field_name}]+:\s*.+$/
FIELD_SPLIT =
/^(#{FIELD_NAME})\s*:\s*(#{FIELD_BODY})?$/
HEADER_LINE =
/^([#{field_name}]+:\s*.+)$/
HEADER_SPLIT =
/#{LAX_CRLF}(?!#{WSP})/
QP_UNSAFE =
/[^#{qp_safe}]/
QP_SAFE =
/[#{qp_safe}]/
CONTROL_CHAR =
/[#{control}]/n
ATOM_UNSAFE =
/[#{Regexp.quote aspecial}#{control}#{sp}]/n
PHRASE_UNSAFE =
/[#{Regexp.quote aspecial}#{control}]/n
TOKEN_UNSAFE =
/[#{Regexp.quote tspecial}#{control}#{sp}]/n
ENCODED_VALUE =
%r{
  \=\?     # literal =?
  ([^?]+)  #
  \?       # literal ?
  ([QB])   # either a "Q" or a "B"
  \?       # literal ?
  .*?      # lazily match all characters
  \?\=     # literal ?=
}mix
FULL_ENCODED_VALUE =

m is multi-line, i is case-insensitive, x is free-spacing

%r{ # Identical to ENCODED_VALUE but captures the whole rather than components of
  (
    \=\?    # literal =?
    [^?]+   #
    \?      # literal ?
    [QB]    # either a "Q" or a "B"
    \?      # literal ?
    .*?     # lazily match all characters
    \?\=    # literal ?=
  )
}mix
EMPTY =

m is multi-line, i is case-insensitive, x is free-spacing

''
SPACE =
' '
UNDERSCORE =
'_'
HYPHEN =
'-'
COLON =
':'
ASTERISK =
'*'
CRLF =
"\r\n"
CR =
"\r"
LF =
"\n"
CR_ENCODED =
"=0D"
LF_ENCODED =
"=0A"
CAPITAL_M =
'M'
EQUAL_LF =
"=\n"
NULL_SENDER =
'<>'
Q_VALUES =
['Q','q']
B_VALUES =
['B','b']