class Gillbus::V2::Responses::SearchTrips

Public Instance Methods

carriers() click to toggle source
# File lib/gillbus/v2/responses/search_trips.rb, line 13
def carriers
  @carriers ||= (json_body["carriers"] || []).map do |item|
    Structs::Carrier.from_raw_data(item)
  end
end
pagination() click to toggle source
# File lib/gillbus/v2/responses/search_trips.rb, line 31
def pagination
  @pagination ||=
    if json_body["pages_info"]
      Structs::Pagination.from_raw_data(json_body["pages_info"])
    end
end
points() click to toggle source
# File lib/gillbus/v2/responses/search_trips.rb, line 25
def points
  @points ||= (json_body["points"] || []).map do |item|
    Structs::Point.from_raw_data(item)
  end
end
trips() click to toggle source
# File lib/gillbus/v2/responses/search_trips.rb, line 4
def trips
  @trips ||= (json_body["trips"] || []).map do |item|
    trip_data = item.dup
    trip_data["direct_trip"].map! { |id| segment_data(id) }
    trip_data["back_trip"].map! { |id| segment_data(id) }
    Structs::Trip.from_raw_data(trip_data)
  end
end
vehicles() click to toggle source
# File lib/gillbus/v2/responses/search_trips.rb, line 19
def vehicles
  @vehicles ||= (json_body["vehicles"] || []).map do |item|
    Structs::Vehicle.from_raw_data(item)
  end
end

Private Instance Methods

segment_data(segment_id) click to toggle source
# File lib/gillbus/v2/responses/search_trips.rb, line 40
def segment_data(segment_id)
  @segments_data_by_ids ||=
    (json_body["segments"] || []).group_by { |item| item["id"] }
  @segments_data_by_ids[segment_id]&.first
end