aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlban Peignier2017-04-26 15:27:35 +0200
committerAlban Peignier2017-04-26 15:31:02 +0200
commitf16da31d109232421d3e0aaba3c62b32f9f0804d (patch)
tree27f1f4899a90280c9ad8723f2afa2ce41c00d44d
parent782d7288f75333305635828d19e931ab62decefa (diff)
downloadchouette-core-f16da31d109232421d3e0aaba3c62b32f9f0804d.tar.bz2
Fixes referential:create task. Refs #2975
* define default start_date and end_date * associate VehicleJourneyAtStops to VehicleJourney * associate VehicleJourney to TimeTables * add a message to display which Referential is created * mark created Referential as ready
-rw-r--r--lib/tasks/referential.rake33
1 files changed, 18 insertions, 15 deletions
diff --git a/lib/tasks/referential.rake b/lib/tasks/referential.rake
index caee2042a..9d98a048b 100644
--- a/lib/tasks/referential.rake
+++ b/lib/tasks/referential.rake
@@ -1,17 +1,22 @@
+# coding: utf-8
# execution example: rake 'referential:create[3, 1896, '01-01-2017', '01-04-2017']'
namespace :referential do
desc 'Create a referential and accompanying data'
task :create, [:workbench_id, :line_id, :start_date, :end_date] => [:environment] do |t, args|
+ args.with_defaults(start_date: Date.today.strftime, end_date: (Date.today + 30).strftime)
+
workbench = Workbench.find_by!(id: args[:workbench_id])
line = workbench.line_referential.lines.find_by!(id: args[:line_id])
name = "Referential #{Faker::Name.unique.name}"
+
referential = workbench.referentials.create!(name: name, slug: name.downcase.parameterize.underscore, organisation: workbench.organisation,
prefix: Faker::Lorem.unique.characters(10))
ReferentialMetadata.create!(referential: referential, line_ids: [args[:line_id]], periodes: [Date.parse(args[:start_date])..Date.parse(args[:end_date])])
referential.switch
- routes = []
+ puts "✓ Created Referential '#{name}' (#{referential.id})"
+
stop_areas = workbench.stop_area_referential.stop_areas.last(10)
4.times do |i|
@@ -28,29 +33,27 @@ namespace :referential do
end
route.save!
- journey_pattern = Chouette::JourneyPattern.create!(route: route, name: "Journey pattern #{Faker::Name.unique.name}")
+ journey_pattern = Chouette::JourneyPattern.create!(route: route, name: "Journey Pattern #{Faker::Name.unique.name}")
journey_pattern.stop_points = stop_areas.inject([]) { |stop_points, stop_area| stop_points += stop_area.stop_points }
+ time_tables = []
+ 2.times do |j|
+ name = "Test #{Faker::Name.unique.name}"
+ time_table = Chouette::TimeTable.create!(comment: name, start_date: Date.parse(args[:start_date]) + j.days,
+ end_date: Date.parse(args[:end_date]) - j.days)
+ time_tables << time_table
+ end
+
25.times do |j|
- vehicle_journey = Chouette::VehicleJourney.create!(journey_pattern: journey_pattern, route: route, number: Faker::Number.unique.number(4))
+ vehicle_journey = Chouette::VehicleJourney.create!(journey_pattern: journey_pattern, route: route, number: Faker::Number.unique.number(4), time_tables: time_tables)
time = Time.current.at_noon + j.minutes
journey_pattern.stop_points.each_with_index do |stop_point, k|
- vjas = Chouette::VehicleJourneyAtStop.create!(stop_point: stop_point, arrival_time: time + k.minutes, departure_time: time + k.minutes + 30.seconds)
+ vehicle_journey.vehicle_journey_at_stops.create!(stop_point: stop_point, arrival_time: time + k.minutes, departure_time: time + k.minutes + 30.seconds)
end
end
- 2.times do |j|
- name = "Calendar #{Faker::Name.unique.name}"
- calendar = Calendar.create!(name: name, short_name: name.parameterize, organisation: workbench.organisation,
- date_ranges: [(Date.parse(args[:start_date]) + j.days)..(Date.parse(args[:end_date]) - j.days)])
- Chouette::TimeTable.create!(comment: Faker::Lorem.sentence(3), calendar: calendar, start_date: Date.parse(args[:start_date]) + j.days,
- end_date: Date.parse(args[:end_date]) - j.days)
- end
end
+ referential.update(ready: true)
end
end
-
-
-
-