class Metro2::Records::BaseSegment

Constants

LENGTH

Public Class Methods

new() click to toggle source
# File lib/metro_2/records/base_segment.rb, line 56
def initialize
  @appendages = []
end

Public Instance Methods

j1_segment() click to toggle source
# File lib/metro_2/records/base_segment.rb, line 69
def j1_segment
  @j1_segment
end
j1_segment=(segment) click to toggle source
# File lib/metro_2/records/base_segment.rb, line 73
def j1_segment=(segment)
  @j1_segment = segment
  @appendages << @j1_segment
end
j2_segment() click to toggle source
# File lib/metro_2/records/base_segment.rb, line 78
def j2_segment
  @j2_segment
end
j2_segment=(segment) click to toggle source
# File lib/metro_2/records/base_segment.rb, line 82
def j2_segment=(segment)
  @j2_segment = segment
  @appendages << @j2_segment
end
k2_segment() click to toggle source
# File lib/metro_2/records/base_segment.rb, line 60
def k2_segment
  @k2_segment
end
k2_segment=(segment) click to toggle source
# 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() click to toggle source
# 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() click to toggle source
Calls superclass method
# 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