Sha256: b9f1ff0a8cae571f6cd7c9cf1e716703842a917598f039d272c13ca475759ca7
Contents?: true
Size: 1.28 KB
Versions: 1
Compression:
Stored size: 1.28 KB
Contents
module Eancom module Edifact class Document attr_accessor :header_element, :body_element, :footer_element def initialize @header_element = Header.new() @body_element = Body.new() @footer_element = Footer.new() end def header(&block) yield(@header_element) end def body(&block) yield(@body_element) end def footer(&block) yield(@footer_element) end def add_to_header(segment) @header_element.segment(segment) end def add_to_body(segment) @body_element.segment(segment) end def add_to_footer(segment) @footer_element.segment(segment) end # Should header and footer segments be added to total_segments? def total_segments total = 0 total += @body_element.segments.count total end def to_s(debug: false) stream = '' stream << @header_element.to_s(debug: debug) stream << @body_element.to_s(debug: debug) stream << @footer_element.to_s(debug: debug) stream end def to_json hash = {} hash.merge! @header_element.to_json_hash hash.merge! @body_element.to_json_hash hash.to_json end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
eancom-2.0.0 | lib/eancom/edifact/document.rb |