class Urbivore::Message

Attributes

data[R]
level[R]
message[R]
progname[R]
timestamp[R]

Public Class Methods

new(timestamp, message, level, progname = nil, data = nil) click to toggle source

generally speaking we don't want users initializing these directly—either Logger or MessagePacket should be doing that in most cases

# File lib/urbivore/message.rb, line 8
def initialize(timestamp, message, level, progname = nil, data = nil)
  # that said, let's raise an error if at least they're
  # calling this wrong...
  unless timestamp.is_a?(Time)
    raise Urbivore::Exceptions::TypeError.new("Message expected timestamp to be a time")
  end

  @timestamp  = timestamp
  @message    = message
  @level      = level.to_sym
  @progname   = progname
  @data       = data
end

Public Instance Methods

<=>(comp) click to toggle source
# File lib/urbivore/message.rb, line 27
def <=>(comp)
  if self.timestamp < comp.timestamp
    -1
  elsif self.timestamp > comp.timestamp
    1
  else
    0
  end
end
to_s() click to toggle source
# File lib/urbivore/message.rb, line 22
def to_s
  str = "#{timestamp} [#{level}] #{message}"
  progname ? str += " (#{progname})" : str
end