Class: Eddy::Models::Segment
- Inherits:
-
Object
- Object
- Eddy::Models::Segment
- Defined in:
- lib/eddy/models/segment.rb
Overview
Base class for EDI Segments.
Direct Known Subclasses
Segments::ACK, Segments::BAK, Segments::BEG, Segments::BIG, Segments::BSN, Segments::CAD, Segments::CTP, Segments::CTT, Segments::DTM, Segments::GE, Segments::GS, Segments::HL, Segments::IEA, Segments::ISA, Segments::IT1, Segments::LIN, Segments::MAN, Segments::N1, Segments::N2, Segments::N3, Segments::N4, Segments::PID, Segments::PO1, Segments::PRF, Segments::REF, Segments::SAC, Segments::SE, Segments::SLN, Segments::SN1, Segments::ST, Segments::TD1, Segments::TD5, Segments::TDS
Instance Attribute Summary collapse
- #elements ⇒ Array<Element>
-
#id ⇒ String
readonly
An alphanumeric code unique to each Segment type.
-
#name ⇒ String
readonly
Short name of the Segment.
-
#skip ⇒ Boolean
(false) If true,
#render
will returnnil
. -
#store ⇒ Eddy::Data::Store
Data passed down from a Transaction Set.
Instance Method Summary collapse
-
#initialize(store, *elements) ⇒ void
constructor
All of a Segment's elements need to be declared in its constructor.
- #render(separator = self.store.element_separator) ⇒ String?
Constructor Details
#initialize(store, *elements) ⇒ void
All of a Segment's elements need to be declared in its constructor.
24 25 26 27 28 29 |
# File 'lib/eddy/models/segment.rb', line 24 def initialize(store, *elements) self.skip = false self.store = store elements.flatten! self.elements = elements || [] end |
Instance Attribute Details
#elements ⇒ Array<Element>
13 14 15 |
# File 'lib/eddy/models/segment.rb', line 13 def elements @elements end |
#id ⇒ String (readonly)
An alphanumeric code unique to each Segment type.
8 9 10 |
# File 'lib/eddy/models/segment.rb', line 8 def id @id end |
#name ⇒ String (readonly)
Short name of the Segment.
11 12 13 |
# File 'lib/eddy/models/segment.rb', line 11 def name @name end |
#skip ⇒ Boolean
Returns (false) If true, #render
will return nil
.
17 18 19 |
# File 'lib/eddy/models/segment.rb', line 17 def skip @skip end |
#store ⇒ Eddy::Data::Store
Returns Data passed down from a Transaction Set.
15 16 17 |
# File 'lib/eddy/models/segment.rb', line 15 def store @store end |
Instance Method Details
#render(separator = self.store.element_separator) ⇒ String?
33 34 35 36 37 |
# File 'lib/eddy/models/segment.rb', line 33 def render(separator = self.store.element_separator) return nil if self.skip segment = [self.id, self.elements.map(&:value)].join(separator) return Eddy::Util.trim_delims_from_segment(segment, separator: separator) end |