class EDI::MsgGroup

A “MsgGroup” is a special “Collection with header and trailer” It collects “Message” objects and is only rarely used.

Public Class Methods

new(p, user_par = nil) click to toggle source
Calls superclass method EDI::Collection::new
# File lib/edi4r.rb, line 644
def initialize(p, user_par = nil)
  super(p, p.root, 'MsgGroup')
  # ...
end
parse_xml(p, xgrp) click to toggle source

Note: Code is very similar to Message.parse_xml. Remove redundancy?

# File lib/edi4r/rexml.rb, line 143
def MsgGroup.parse_xml(p, xgrp)
  _header    = xgrp.elements["Header/Segment"]
  _trailer   = xgrp.elements["Trailer/Segment"]
  grp        = p.new_msggroup( Segment.parse_xml( p, _header ) )

  grp.header = Segment.parse_xml( grp, _header  ) if _header
  xgrp.elements.each('Message') {|xel| grp.add Message.parse_xml(grp, xel)}
  grp.trailer = Segment.parse_xml( grp, _trailer ) if _trailer

  grp
end

Public Instance Methods

add(msg) click to toggle source

Add only Message objects to a message group!

Calls superclass method EDI::Collection#add
# File lib/edi4r.rb, line 661
def add (msg)
  raise "Only Messages allowed here" unless msg.is_a? Message
  super
end