# X12 Current version has been upgraded to run under ruby version >= 1.9.1 Changes welcome, especially new document types or better tests. # License This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ## Installation Add this line to your application's Gemfile: gem 'pd_x12' And then execute: $ bundle Or install it yourself as: $ gem install pd_x12 ## Documentation ### Wiki Page: https://github.com/mjpete3/x12/wiki ## Major deficiencies Validation is not implemented. Field types are ignored. No access methods for composites’ fields. # Acknowledgments The authors of the project were inspired by the following works: * The Perl X12 parser by Prasad Poruporuthan, search.cpan.org/~prasad/X12-0.09/lib/X12/Parser.pm * The Ruby port of the above by Chris Parker, rubyforge.org/projects/x12-parser/ * This project originated from App Design's X12 parser. * Project was forked by Sean Walberg, creating version 1.2.0 in April 2012. * Project was forked by Marty Petersen in November 2012, creating pd_x12. # Change Log 11/8/14 - release 1.5.0 * converted from ReXML to LibXML for speed improvement on XML parsing 9/14/13 - release 1.4.7 * Added 276 / 277 transaction messages * Fixed issue with 835.xml file 4/15/13 - release 1.4.5 * Factories now enforce minimum sizes - wbajzek contributed * 270Interchange.xml updated ST segment's field list - wbajzek contributed * Test updated for minimum size - wbajzek contributed 3/22/13 - releases 1.4.1 - 1.4.3 * Fix errors in the 835.xml file 3/11/13 - release 1.4.0 * Added X12 definitions for 271 transaction * Renamed the gem to be all lower case so Rails and other frameworks autoload the project as a gem * Added an each method to segments to simplify looping through repeating segments