class EdifactConverter::XML112EDI::SegmentChecks
Public Instance Methods
escape_subelms(nodeset)
click to toggle source
# File lib/edifact_converter/xml112edi/segment_checks.rb, line 21 def escape_subelms(nodeset) nodeset.each do |elm| elm.content = escape_text elm.text unless elm['base64'] end end
is_segment(nodeset)
click to toggle source
# File lib/edifact_converter/xml112edi/segment_checks.rb, line 6 def is_segment(nodeset) (nodeset.first.name =~ /\p{Upper}{3}/) == 0 end
is_segmentgroup(nodeset)
click to toggle source
# File lib/edifact_converter/xml112edi/segment_checks.rb, line 10 def is_segmentgroup(nodeset) (nodeset.first.name =~ /S[0-9]{2}/) == 0 end
valid_elms(nodeset)
click to toggle source
# File lib/edifact_converter/xml112edi/segment_checks.rb, line 14 def valid_elms(nodeset) nodeset.each do |elm| elm.children = pop_last_empty(elm.children) end pop_last_empty nodeset end
Private Instance Methods
escape_text(text)
click to toggle source
# File lib/edifact_converter/xml112edi/segment_checks.rb, line 36 def escape_text(text) text.gsub(/[\+\'\:\?]/) {|s| "?#{s}"} end
pop_last_empty(nodeset)
click to toggle source
# File lib/edifact_converter/xml112edi/segment_checks.rb, line 29 def pop_last_empty(nodeset) while nodeset.size > 0 && nodeset.last.children.size == 0 nodeset.pop end nodeset end