Sha256: 47f9dec79e9e28f2cabd71e2bd8dfe10e3f6c47428e97a33bf8634d737a375c7

Contents?: true

Size: 1.51 KB

Versions: 4

Compression:

Stored size: 1.51 KB

Contents

require "ldbws/response_types/base"
require "ldbws/response_types/service_item"

module Ldbws::ResponseTypes
  # \Base station board information. This does not directly correspond to a type in LDBWS.
  #
  # === Properties
  # generated_at::
  # location_name::
  # crs::
  # nrcc_messages::
  # platform_available::
  # are_services_available::
  class BaseStationBoard < Base
    property :generated_at, DateTime
    property :location_name, String
    property :crs, String
    collection :nrcc_messages, "message", StrippedString
    property :platform_available, Boolean, default: false
    property :are_services_available, Boolean, default: true
  end

  # Represents a station arrival/departure board in LDBWS.
  #
  # === Properties
  # As BaseStationBoard, and additionally:
  #
  # train_services::
  # bus_services::
  # ferry_services::
  class StationBoard < BaseStationBoard
    collection :train_services, "service", ServiceItem
    collection :bus_services, "service", ServiceItem
    collection :ferry_services, "service", ServiceItem
  end

  # Represents a station arrival/departure board with additional details in LDBWS.
  #
  # === Properties
  # As BaseStationBoard, and additionally:
  #
  # train_services::
  # bus_services::
  # ferry_services::
  class StationBoardWithDetails < BaseStationBoard
    collection :train_services, "service", ServiceItemWithCallingPoints
    collection :bus_services, "service", ServiceItemWithCallingPoints
    collection :ferry_services, "service", ServiceItemWithCallingPoints
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ldbws-1.0.3 lib/ldbws/response_types/station_board.rb
ldbws-1.0.2 lib/ldbws/response_types/station_board.rb
ldbws-1.0.1 lib/ldbws/response_types/station_board.rb
ldbws-1.0.0 lib/ldbws/response_types/station_board.rb