Class: Urbivore::Message

Inherits:
Object
  • Object
show all
Defined in:
lib/urbivore/message.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(timestamp, message, level, progname = nil, data = nil) ⇒ Message

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



8
9
10
11
12
13
14
15
16
17
18
19
20
# 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

Instance Attribute Details

#dataObject (readonly)

Returns the value of attribute data.



3
4
5
# File 'lib/urbivore/message.rb', line 3

def data
  @data
end

#levelObject (readonly)

Returns the value of attribute level.



3
4
5
# File 'lib/urbivore/message.rb', line 3

def level
  @level
end

#messageObject (readonly)

Returns the value of attribute message.



3
4
5
# File 'lib/urbivore/message.rb', line 3

def message
  @message
end

#prognameObject (readonly)

Returns the value of attribute progname.



3
4
5
# File 'lib/urbivore/message.rb', line 3

def progname
  @progname
end

#timestampObject (readonly)

Returns the value of attribute timestamp.



3
4
5
# File 'lib/urbivore/message.rb', line 3

def timestamp
  @timestamp
end

Instance Method Details

#<=>(comp) ⇒ Object



27
28
29
30
31
32
33
34
35
# 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_sObject



22
23
24
25
# File 'lib/urbivore/message.rb', line 22

def to_s
  str = "#{timestamp} [#{level}] #{message}"
  progname ? str += " (#{progname})" : str
end