From: mbklein Date: Mon, 1 Mar 2010 18:51:03 +0000 (+0000) Subject: Added :sender_qual and :recipient_qual as valid interchange initializer options X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=cf0ac2ce3104d2138aee2aa24ae495b83dd01b8e;p=working%2Frandom.git Added :sender_qual and :recipient_qual as valid interchange initializer options git-svn-id: svn://svn.open-ils.org/ILS-Contrib/acq_edi/trunk@806 6d9bc8c9-1ec2-4278-b937-99fde70a366f --- diff --git a/lib/edi/mapper.rb b/lib/edi/mapper.rb index 0f8199fc0..1abfa0695 100644 --- a/lib/edi/mapper.rb +++ b/lib/edi/mapper.rb @@ -94,11 +94,9 @@ module EDI::E def initialize(msg_type, msg_opts = {}, ic_opts = {}) # Bug in edi4r 0.9 -- sometimes :recipient is used; sometimes :recip. It doesn't # work. We'll override it. - local_ic_opts = ic_opts.reject { |k,v| [:sender,:recipient].include?(k) } + local_ic_opts = ic_opts.reject { |k,v| [:sender,:sender_qual,:recipient,:recipient_qual].include?(k) } @ic = EDI::E::Interchange.new(local_ic_opts || {}) - @ic.header.cS002.d0004 = ic_opts[:sender] unless ic_opts[:sender].nil? - @ic.header.cS003.d0010 = ic_opts[:recipient] unless ic_opts[:recipient].nil? - + # Apply any envelope defaults. ['UNA','UNB','UNZ'].each { |seg| seg_defs = self.class.defaults[seg] @@ -113,6 +111,11 @@ module EDI::E } end } + + @ic.header.cS002.d0004 = ic_opts[:sender] unless ic_opts[:sender].nil? + @ic.header.cS002.d0007 = ic_opts[:sender_qual] unless ic_opts[:sender_qual].nil? + @ic.header.cS003.d0010 = ic_opts[:recipient] unless ic_opts[:recipient].nil? + @ic.header.cS003.d0007 = ic_opts[:recipient_qual] unless ic_opts[:recipient_qual].nil? @message = @ic.new_message( { :msg_type => msg_type, :version => 'D', :release => '96A', :resp_agency => 'UN' }.merge(msg_opts || {}) ) @ic.add(@message,false)