Module: Zircon::Message::Patterns
- Defined in:
- lib/zircon/message/patterns.rb
Constant Summary collapse
- DIGIT =
unit
"0-9"
- LETTER =
"A-Za-z"
- HEXDIGIT =
"#{DIGIT}A-Fa-f"
- CRLF =
'\x0D\x0A'
- NOSPCRLFCL =
'\x01-\x09\x0B-\x0C\x0E-\x1F\x21-\x39\x3B-\xFF'
- COMMAND =
units
"(?:[#{LETTER}]+|[#{DIGIT}]{3})"
- SHORTNAME =
"[#{LETTER}#{DIGIT}](?:[-#{LETTER}#{DIGIT}]*[#{LETTER}#{DIGIT}])?"
- HOSTNAME =
"#{SHORTNAME}(?:\\.#{SHORTNAME})*"
- SERVERNAME =
HOSTNAME
- IP4ADDR =
"\d{1,3}(?:\\.\d{1,3}){3}"
- IP6ADDR =
"(?:[#{HEXDIGIT}]+(?::[#{HEXDIGIT}]+){7}|0:0:0:0:0:(?:0|FFFF):#{IP4ADDR})"
- HOSTADDR =
"(?:#{IP4ADDR}|#{IP6ADDR})"
- HOST =
"(?:#{HOSTNAME}|#{HOSTADDR})"
- USER =
'[\x01-\x09\x0B-\x0C\x0E-\x1F\x21-\x3F\x41-\xFF]+'
- NICKNAME =
"\\S+"
- MIDDLE =
"[#{NOSPCRLFCL}][:#{NOSPCRLFCL}]*"
- TRAILING =
"[: #{NOSPCRLFCL}]*"
- PARAMS =
"(?:((?: #{MIDDLE}){0,14})(?: :(#{TRAILING}))?|((?: #{MIDDLE}){14}):?(#{TRAILING}))"
- PREFIX =
"(?:#{NICKNAME}(?:(?:!#{USER})?@#{HOST})?|#{SERVERNAME})"
- MESSAGE =
"(?::(#{PREFIX}) )?(#{COMMAND})#{PARAMS}\s*#{CRLF}"
- CLIENT_PATTERN =
pattern
/\A#{NICKNAME}(?:(?:!#{USER})?@#{HOST})\z/on
- MESSAGE_PATTERN =
/\A#{MESSAGE}\z/on