Class: SyslogTls::Message

Inherits:
Object
  • Object
show all
Defined in:
lib/syslog_tls/protocol.rb

Overview

Message represents full message that can be sent to syslog

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMessage

Returns a new instance of Message.



115
116
117
118
119
# File 'lib/syslog_tls/protocol.rb', line 115

def initialize
  @msg = ''
  @structured_data = []
  @header = Header.new
end

Instance Attribute Details

#headerObject

Returns the value of attribute header.



113
114
115
# File 'lib/syslog_tls/protocol.rb', line 113

def header
  @header
end

#msgObject

Returns the value of attribute msg.



113
114
115
# File 'lib/syslog_tls/protocol.rb', line 113

def msg
  @msg
end

#structured_dataObject

Returns the value of attribute structured_data.



113
114
115
# File 'lib/syslog_tls/protocol.rb', line 113

def structured_data
  @structured_data
end

Instance Method Details

#assembleObject



121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/syslog_tls/protocol.rb', line 121

def assemble
  # Start with header
  out = [header.to_s]
  # Add all structured data
  if structured_data.length > 0
    out << structured_data.map(&:to_s).join('')
  else
    out << NIL_VALUE
  end
  # Add message
  out << msg if msg.length > 0
  # Message must end with new line delimiter
  out.join(' ') + "\n"
end

#to_sObject



136
137
138
# File 'lib/syslog_tls/protocol.rb', line 136

def to_s
  assemble
end