Class: Metro2::Records::BaseSegment
- Inherits:
-
Record
- Object
- Record
- Metro2::Records::BaseSegment
show all
- Defined in:
- lib/metro_2/records/base_segment.rb
Constant Summary
collapse
- LENGTH =
Metro2::FIXED_LENGTH
Instance Method Summary
collapse
Methods inherited from Record
fields, #validate_fields
Methods included from Fields
#alphanumeric_const_field, #alphanumeric_field, #date_field, #monetary_field, #numeric_const_field, #numeric_field, #timestamp_field
Constructor Details
Returns a new instance of BaseSegment.
56
57
58
|
# File 'lib/metro_2/records/base_segment.rb', line 56
def initialize
@appendages = []
end
|
Instance Method Details
#j1_segment ⇒ Object
69
70
71
|
# File 'lib/metro_2/records/base_segment.rb', line 69
def j1_segment
@j1_segment
end
|
#j1_segment=(segment) ⇒ Object
73
74
75
76
|
# File 'lib/metro_2/records/base_segment.rb', line 73
def j1_segment=(segment)
@j1_segment = segment
@appendages << @j1_segment
end
|
#j2_segment ⇒ Object
78
79
80
|
# File 'lib/metro_2/records/base_segment.rb', line 78
def j2_segment
@j2_segment
end
|
#j2_segment=(segment) ⇒ Object
82
83
84
85
|
# File 'lib/metro_2/records/base_segment.rb', line 82
def j2_segment=(segment)
@j2_segment = segment
@appendages << @j2_segment
end
|
#k2_segment ⇒ Object
60
61
62
|
# File 'lib/metro_2/records/base_segment.rb', line 60
def k2_segment
@k2_segment
end
|
#k2_segment=(segment) ⇒ Object
64
65
66
67
|
# File 'lib/metro_2/records/base_segment.rb', line 64
def k2_segment=(segment)
@k2_segment = segment
@appendages << @k2_segment
end
|
#set_record_descriptor_word ⇒ Object
93
94
95
|
# File 'lib/metro_2/records/base_segment.rb', line 93
def set_record_descriptor_word
self.record_descriptor_word = LENGTH + @appendages.sum { |appendage| appendage.class::LENGTH }
end
|
#to_metro2 ⇒ Object
87
88
89
90
91
|
# File 'lib/metro_2/records/base_segment.rb', line 87
def to_metro2
@appendages.compact!
set_record_descriptor_word
super + @appendages.map(&:to_metro2).join
end
|