From e937897aaecf2f4c4e8db63d37b5e515eba2a048 Mon Sep 17 00:00:00 2001 From: Xinhui Date: Wed, 1 Mar 2017 12:03:26 +0100 Subject: Wip dummy vehicle_journey_at_stops in json --- app/models/chouette/vehicle_journey.rb | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) (limited to 'app/models') diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb index 9b9d96df3..d03b52e83 100644 --- a/app/models/chouette/vehicle_journey.rb +++ b/app/models/chouette/vehicle_journey.rb @@ -47,15 +47,29 @@ module Chouette @presenter ||= ::VehicleJourneyPresenter.new( self) end + def vehicle_journey_at_stops_matrix + fill = route.stop_points.count - self.vehicle_journey_at_stops.count + at_stops = self.vehicle_journey_at_stops.to_a.dup + fill.times do + at_stops << Chouette::VehicleJourneyAtStop.new + end + at_stops + end + def update_vehicle_journey_at_stops_state state state.each do |vjas| - stop = vehicle_journey_at_stops.find(vjas['id']) - ['arrival_time', 'departure_time'].each do |field| - stop.assign_attributes({ - field.to_sym => stop.send(field).change({ hour: vjas[field]['hour'], min: vjas[field]['minute'] }) - }) + next if vjas["dummy"] + stop = vehicle_journey_at_stops.find(vjas['id']) if vjas['id'] + if stop + stop.arrival_time ||= Time.now.beginning_of_day + stop.departure_time ||= Time.now.beginning_of_day + ['arrival_time', 'departure_time'].each do |field| + stop.assign_attributes({ + field.to_sym => stop.send(field).change({ hour: vjas[field]['hour'], min: vjas[field]['minute'] }) + }) + end + stop.save end - stop.save end end -- cgit v1.2.3