diff options
| author | Xinhui | 2017-03-01 12:03:26 +0100 |
|---|---|---|
| committer | Xinhui | 2017-03-01 12:04:46 +0100 |
| commit | e937897aaecf2f4c4e8db63d37b5e515eba2a048 (patch) | |
| tree | deffdf8e8e7b7b9832f6e27749aaa2437161d4c4 /app/models | |
| parent | 599addc323b0b08ddcea7871748760c0bec83585 (diff) | |
| download | chouette-core-e937897aaecf2f4c4e8db63d37b5e515eba2a048.tar.bz2 | |
Wip dummy vehicle_journey_at_stops in json
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/chouette/vehicle_journey.rb | 26 |
1 files changed, 20 insertions, 6 deletions
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 |
