class ClientForPoslynx::MessageHandling::XmlLinesBuffer

Attributes

message[R]
root_name[RW]

Public Class Methods

new() click to toggle source
# File lib/client_for_poslynx/message_handling/xml_lines_buffer.rb, line 7
def initialize
  reset
end

Public Instance Methods

add_line(line) { |complete_message| ... } click to toggle source
# File lib/client_for_poslynx/message_handling/xml_lines_buffer.rb, line 11
def add_line(line)
  message << line
  if (! root_name) && line =~ /^(?:<\?.+?\?>)?<([A-Za-z_][^\s>]*)[ >]/
    self.root_name = $1
  end
  if root_name && line =~ /<\/#{root_name}\s*>\s*$/
    complete_message = message
    reset
    yield complete_message
  end
end

Private Instance Methods

reset() click to toggle source
# File lib/client_for_poslynx/message_handling/xml_lines_buffer.rb, line 28
def reset
  @message   = ''
  @root_name = nil
end