module Eancom module Edifact class Composite class DataTypeError < StandardError; end attr_reader :data def initialize @data = {} end def add(key, value) if value.kind_of?(Data) @data[key] = value else raise DataTypeError.new('Added value is not of type Data.') end end def get(key) @data[key] end def delete(key) @data.delete(key) end def to_array array = [] @data.each do |key, value| array << key end array end end end end