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