class EdiParser::EdiFile
Attributes
carrier_data[RW]
@return [EdiParser::CarrierData] the parsed carrier data object.
document_header[RW]
@return [EdiParser::DocumentHeader] the parsed document header object.
interchange_header[RW]
@return [EdiParser::InterchangeHeader] the parsed interchange header object.
ocurrences[RW]
@return [Array<EdiParser::Ocurrence>] the array of parse ocurrences object.
Public Class Methods
new(attributes = {})
click to toggle source
# File lib/edi_parser/edi_file.rb, line 16 def initialize(attributes = {}) attributes.each do |key, value| __send__("#{key}=", value) end end
parse(file)
click to toggle source
# File lib/edi_parser/edi_file.rb, line 22 def self.parse(file) raise InvalidEdiFileError unless File.exists?(file) edi_file = EdiFile.new File.open(file) do |f| edi_file.interchange_header = InterchangeHeader.parse(f.readline) edi_file.document_header = DocumentHeader.parse(f.readline) edi_file.carrier_data = CarrierData.parse(f.readline) edi_file.ocurrences = [] f.readlines.each do |line| ocurrence = Ocurrence.parse(line) edi_file.ocurrences << ocurrence unless ocurrence.nil? end end edi_file end