class Gillbus::V2::Structs::SegmentSeatMap

Public Instance Methods

floor_seat_map(floor) click to toggle source

Array of arrays (see result of format_seats)

# File lib/gillbus/v2/structs/segment_seat_map.rb, line 15
def floor_seat_map(floor)
  floor_seats(floor)
    .group_by(&:row)
    .sort_by(&:first)
    .map do |row, row_seats|
      # TODO: reverse order?
      row_seats.sort_by(&:col)
    end
end
floor_seats(floor) click to toggle source
# File lib/gillbus/v2/structs/segment_seat_map.rb, line 10
def floor_seats(floor)
  seats.select { |seat| seat.floor == floor }
end
floors() click to toggle source
# File lib/gillbus/v2/structs/segment_seat_map.rb, line 6
def floors
  @floors ||= seats.map(&:floor).uniq
end
format_seats(floor:, separator: " ") click to toggle source
# File lib/gillbus/v2/structs/segment_seat_map.rb, line 25
def format_seats(floor:, separator: "  ")
  rows =
    floor_seat_map(floor).map do |row_seats|
      row_seats
        .map { |seat| "%3s" % seat.number }
        .join(separator)
    end
  rows.join("\n")
end