class Eancom::Edifact::Message

Attributes

hash[RW]
items[RW]

Public Class Methods

new() click to toggle source
# File lib/eancom/edifact/message.rb, line 7
def initialize()
  @items = []
  @hash = {}
end

Public Instance Methods

<<(segment) click to toggle source
# File lib/eancom/edifact/message.rb, line 16
def << (segment)
  if name = group_name(segment)
    @hash[name] = [] if @hash[name].nil?
    @hash[name] << segment.to_json_hash
  else
    @hash.merge!(segment.to_json_hash)
  end
end
add_item(item) click to toggle source
# File lib/eancom/edifact/message.rb, line 12
def add_item(item)
  @items << item
end
to_json_hash() click to toggle source
# File lib/eancom/edifact/message.rb, line 25
def to_json_hash
  message_hash = {}
  items_hash = { items: @items }
  message_hash.merge!(@hash)
  message_hash.merge!(items_hash)
  message_hash
end

Private Instance Methods

group_name(segment) click to toggle source
# File lib/eancom/edifact/message.rb, line 35
def group_name(segment)
  segment.group_name
end