module RFlow::Components::IRC

IRC RFlow component classes.

Constants

IRC_LINE_REGEX

Some useful IRC parsing methods @!visibility private

IRC_PREFIX_REGEX

@!visibility private

SCHEMA_DIRECTORY

Load the schemas @!visibility private

SCHEMA_FILES

@!visibility private

VERSION

The gem version.

Public Class Methods

parse_irc_line(line) click to toggle source

@!visibility private

# File lib/rflow/components/irc.rb, line 35
def self.parse_irc_line(line)
  match = IRC_LINE_REGEX.match(line)
  unless match
    RFlow.logger.error "Error parsing IRC line '#{line}'"
    return
  end

  prefix, cmd, param_string = match[1..3]

  param_string, trailing_param = param_string.split(' :', 1)
  params = param_string.split(' ')
  params << trailing_param if trailing_param

  [prefix, cmd, params]
end
parse_irc_prefix(prefix) click to toggle source

@!visibility private

# File lib/rflow/components/irc.rb, line 52
def self.parse_irc_prefix(prefix)
  match = IRC_PREFIX_REGEX.match(prefix)
  unless match
    RFlow.logger.error "Error parsing IRC prefix '#{prefix}'"
    return
  end

  # nick/server, user, host
  match[1..3]
end