All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Versions 0.x (0.2, 0.3, 0.4, ...) exist to make it easier for me to test Eddy in other projects and figure out how best to move forward with development.
All code should be considered Work In Progress.
While the API is still changing, enough code exists that EDI documents can currently be written with Eddy (though I wouldn't recommend use in production environments yet).
- Add abbreviations for Canadian provinces and territories as valid values for element
156
(State or Province Code).
- Fix incorrect changelog dates.
- Update allowed values for elements
I10
andI11
- Fix incorrect element names in
TXI
segment.
- New Transaction Set definition:
- 846
- New Segment definitions:
- BIA
- CUR
- PER
- QTY
- SCH
- SDQ
- TXI
- Updated method call in
Eddy::Build::TransactionSetBuilder#build_loops
.
- Updated logic for generating functional group control numbers.
- Trim trailing newline from the return value of
Eddy::Models::Interchange#render
andEddy::Models::TransactionSet#render
.
- Account for skipped segments when calculating
SE.NumberOfIncludedSegments
.
- Improve messages for
NotImplementedError
exceptions raised fromR
elements.
- Add
control_number
attribute to the following classes:Eddy::Models::Interchange
Eddy::Models::TransactionSet
Eddy::Models::FunctionalGroup
- Allow skipping of segments by setting
Eddy::Models::Segment.skip
totrue
.
- Allow skipping of required elements by passing
:skip
to#value=
- Clean up folder structure.
- Updated segment definition for
Eddy::Segments::N3
; add missing element. - Assorted YARD fixes:
- Updated doc comment for
Eddy::Models::Interchange#render
to include yielded params. -
[warn]: @see tag (#1) should not be wrapped in {} (causes rendering issues): in file `lib/eddy/summary/segment.rb' near line 118
- Updated doc comment for
- Updated the implementation of
Loop
. - Renamed attribute
Loop#repeat
toLoop#repeat_limit
- Rename
Eddy::Schema
toEddy::Summary
and removeSummary
postfix from class names, resulting in the following changes:Eddy::Schema::LoopSummary
->Eddy::Summary::Loop
Eddy::Schema::ElementSummary
->Eddy::Summary::Element
Eddy::Schema::SegmentSummary
->Eddy::Summary::Segment
Eddy::Schema::TransactionSetSummary
->Eddy::Summary::TransactionSet
- Move the following classes into the
Eddy::Models
module:Element::*
Segment
Loop::*
FunctionalGroup
TransactionSet
Interchange
- Rename attribute
loop_id
toid
.
- Fix YARD issues.
- Updated the implementation of
Eddy::Interchange
andEddy::FunctionalGroup
- Added arguments to the
initialize
methods of the following classes:Eddy::Segments::GS
Eddy::Segments::GE
Eddy::Segments::ISA
Eddy::Segments::IEA
- Slightly modified file/folder layout.
Eddy::SimpleInterchange
and its associated test.
- Support
Eddy::Data::Persistence::ActiveRecord
.
- Move generators to separate repo, tcd/eddy-rails.
- Update
Eddy.data
whenEddy.config.persistence_method
is changed.
- Code for generating Transaction Set classes.
- Code for writing the following transaction sets:
- 810
- 850
- 855
- 856
- Improved messages from validation errors.
- Improved YARD comments for all EDI classes.
- Improved test coverage.
- Top level configuration (
Eddy.config
). - Very basic code for reading EDI documents.
- Base code for writing EDI documents.
- Ruby classes modeling Data Elements, Segments, Transaction Sets, Functional Groups, & Interchanges.
- Loops are still WIP
- Schemas for describing & defining EDI Transaction Sets, Segments, and Data Elements.
- JSON Schema files for validation using davishmcclurg/json_schemer.
- Code for generating Ruby classes from JSON/YAML EDI definition files using tcd/ginny.
- A simple CLI to streamline code generation (WIP).
- todo.txt file.
- Rails generators for easy integration with Ruby on Rails projects.
Initial release.